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; } }
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;
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!