Maison > interface Web > js tutoriel > Ma page Web est-elle chargée directement ou dans un iFrame ?

Ma page Web est-elle chargée directement ou dans un iFrame ?

Mary-Kate Olsen
Libérer: 2024-12-14 08:54:12
original
169 Les gens l'ont consulté

Is My Webpage Loaded Directly or Inside an iFrame?

Identification de l'iFrame par rapport au chargement direct de page

Dans le développement Web, il peut être nécessaire de déterminer si une page Web est chargée dans un iFrame ou directement dans la fenêtre du navigateur. . Cette distinction peut avoir des implications sur le comportement et la fonctionnalité de la page Web.

Une méthode pour identifier cette distinction consiste à comparer les objets window.self et window.top. Dans une page Web chargée directement dans la fenêtre du navigateur, ces deux objets référenceront le même objet fenêtre. Cependant, lorsqu'il est chargé dans une iframe, window.self fera référence à la fenêtre iframe, tandis que window.top fera référence à la fenêtre parent.

Pour vérifier cela de manière robuste, on peut utiliser le code suivant :

const inIframe = () => window.self !== window.top;
Copier après la connexion
Copier après la connexion

Cependant, il est important de noter que, bien qu'elle soit fiable dans la plupart des navigateurs, cette approche peut être affectée par des restrictions d'origine croisée, notamment dans Internet Explorer. Par conséquent, il est essentiel de gérer les erreurs potentielles avec soin.

Mise à jour (2024) :

Selon la documentation sur l'accès aux API de script cross-origin, window.self et window .top sont inclus dans les propriétés d'origine croisée autorisées. Cela suggère que le code suivant devrait fournir un moyen plus cohérent et fiable de détecter les iFrames :

const inIframe = () => window.self !== window.top;
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal