Maison  >  Article  >  interface Web  >  Comment récupérer l'URL actuelle d'un cadre intégré ?

Comment récupérer l'URL actuelle d'un cadre intégré ?

DDD
DDDoriginal
2024-10-20 12:26:29551parcourir

How to Retrieve the Current URL of an Embedded Frame?

Récupération de l'URL actuelle d'un cadre intégré

Dans le développement Web, il est souvent souhaitable d'accéder à l'URL actuelle d'un iframe intégré dans un page web. Cependant, en raison de restrictions de sécurité, l'exécution de JavaScript dans la fenêtre parent ne permet pas d'accéder à la propriété location de l'iframe.

Malgré cette limitation, il existe toujours des méthodes pour obtenir l'URL de l'iframe côté serveur ou en employant contrôles spécifiques au navigateur.

Approche côté serveur

Sur le serveur, il est possible d'intercepter la requête faite par l'iframe pour charger son contenu. En examinant les en-têtes de requête, le serveur peut extraire l'URL d'origine de l'iframe. Cette approche nécessite toutefois l'accès aux journaux du serveur ou la possibilité d'intercepter les requêtes HTTP.

Contrôles spécifiques au navigateur

Certains navigateurs fournissent des contrôles spécifiques pour accéder à l'URL. d'une iframe. Par exemple, dans Firefox 3, la propriété documentWindow.location.href peut être utilisée pour récupérer l'URL actuelle d'une iframe dans le même domaine que la fenêtre parent. Cependant, cette méthode n'est pas supportée par tous les navigateurs.

Exemples

  • Dans Firefox 3 :

    const iframe = document.getElementById("myiframe");
    const url = iframe.documentWindow.location.href;
    alert(url);
  • Utiliser une approche côté serveur :

Sur le serveur :

const request = httpRequest.getRequest();
const url = request.getHeader("Referer");

Dans le code côté client :

const iframe = document.createElement("iframe");
iframe.src = url;
document.body.appendChild(iframe);

Il est important de notez que ces approches peuvent ne pas être universellement prises en charge par tous les navigateurs. Tenez toujours compte des problèmes de compatibilité lors de la mise en œuvre de telles fonctionnalités.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn