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

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

Barbara Streisand
Libérer: 2024-12-09 16:10:14
original
517 Les gens l'ont consulté

Is My Webpage Loaded Inside an iFrame or Directly in the Browser?

Détermination de l'emplacement de chargement d'une page Web : dans un iFrame ou directement dans le navigateur

Les développeurs Web sont souvent confrontés au défi de charger une page Web dans un iframe ou directement dans la fenêtre du navigateur. L'identification de l'emplacement de chargement est cruciale pour une expérience utilisateur personnalisée.

Dans ce scénario, un développeur d'application Facebook cherche à déterminer si une page Web est chargée dans une iframe ou directement dans le navigateur. Cette connaissance leur permet d'afficher la page en conséquence pour les deux environnements.

Solution :

La solution précédente utilisait le code suivant :

function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}
Copier après la connexion

Cependant, cette méthode présente des limites en raison des restrictions de sécurité du navigateur. Une approche plus fiable est recommandée :

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

Ce code amélioré vérifie si la fenêtre actuelle est la fenêtre de niveau supérieur en comparant window.self et window.top. Une comparaison non équivalente indique un environnement iframe. Cette méthode est largement prise en charge par les navigateurs modernes.

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