"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je obtenir l'URL de la page parent à partir d'un iFrame sur un sous-domaine différent ?

Comment puis-je obtenir l'URL de la page parent à partir d'un iFrame sur un sous-domaine différent ?

Publié le 2024-11-18
Parcourir:394

How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

Accéder à l'URL parent à partir d'iFrame : Restrictions et solutions de contournement

Accéder à l'URL du cadre parent à partir d'un iFrame peut être un défi, en particulier lorsque l'iFrame est situé sur un sous-domaine différent. Cela est dû aux restrictions de sécurité imposées par les mesures de prévention des scripts intersites (XSS).

Lorsque vous accédez à l'iFrame à partir du même domaine et sous-domaine que le cadre parent, l'accès à l'emplacement du parent doit être simple à l'aide d'expressions telles que parent. .document.location ou parent.window.location. Cependant, comme l'a souligné l'utilisateur, cette approche échoue lorsque l'iFrame se trouve sur un sous-domaine différent.

Pour illustrer davantage ce point, considérons l'exemple fourni où pageA.html est hébergé sur http://www.mysite .com/ et pageB.html (l'iFrame) sont hébergés sur http://qa-www.mysite.com/. Tenter de récupérer l'URL du parent à partir de pageB.html déclenchera une erreur d'accès refusé. Cela confirme que les sous-domaines sont également soumis à des restrictions de script intersite.

Bien qu'il soit interdit d'accéder directement à l'URL du parent dans ces circonstances, il existe une solution de contournement qui peut être utilisée. Pour obtenir l'URL du frame parent, le code JavaScript suivant peut être utilisé :

var url = (window.location != window.parent.location)
            ? document.referrer
            : document.location.href;

Remarque :

  • window.parent.location évite l'erreur de sécurité provoquée par l'accès à la propriété href (window.parent. location.href).
  • document.referrer fait référence à l'URI de la page liée à l'iFrame. Cela peut ne pas renvoyer le document contenant si l'emplacement de l'iFrame a été déterminé par une autre source.
  • document.location fait référence à l'URL du document, qui est l'iFrame dans ce cas. Lorsque window.location et window.parent.location sont identiques, le href de l'iFrame est le même que le href du parent.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3