Maison >interface Web >js tutoriel >Comment puis-je récupérer l'URL d'un IFRAME ?

Comment puis-je récupérer l'URL d'un IFRAME ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-22 06:26:251005parcourir

How Can I Retrieve the URL from an IFRAME?

Récupération de l'URL actuelle à partir d'un IFRAME

Lors de l'affichage de contenu provenant de sources externes au sein d'un IFRAME, il peut être souhaitable d'accéder à l'URL du page affichée. Cependant, en raison de limitations de sécurité, cet accès n'est possible que dans des circonstances spécifiques.

Restrictions de sécurité inter-origines

Pour des raisons de sécurité, récupérer l'URL d'un IFRAME au sein JavaScript est soumis à des restrictions inter-domaines. Concrètement, il n'est possible d'obtenir l'URL que lorsque l'IFRAME et le JavaScript de référencement sont hébergés sur le même domaine.

Accès à l'URL lorsque les domaines correspondent

Dans le scénario où le contenu de l'IFRAME et le JavaScript de référencement sont servis à partir du même domaine, l'obtention de l'URL actuelle est simple :

document.getElementById("iframe_id").contentWindow.location.href

Remplacer "iframe_id" avec l'identifiant de l'IFRAME spécifique.

Limitations inter-domaines

Cependant, lorsque les domaines de l'IFRAME et de la page parent diffèrent (inter-domaine) , les mesures de sécurité XSS (cross-site scripting) empêchent la récupération directe d'URL. En effet, autoriser un accès illimité aux informations d'URL à partir d'un domaine externe présente un risque de sécurité.

Solutions alternatives

Si les domaines ne correspondent pas et que la récupération directe de l'URL n'est pas possible , envisagez des solutions alternatives :

  • Domaine enfant servi à partir du domaine parent : hébergez le contenu IFRAME sur un sous-domaine du parent domaine, permettant l'accès à l'URL.
  • Communication Ajax : Établissez une connexion directe entre la page parent et le domaine enfant en utilisant la technique Ajax pour récupérer l'URL à distance.
  • Partage de ressources cross-origin ( CORS ): Avec CORS, le serveur peut explicitement autoriser les requêtes d'origine croisée, permettant l'accès à l'URL sous certaines conditions.

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