Maison > interface Web > js tutoriel > le corps du texte

js pour empêcher les pages Web d'être imbriquées par des cadres iframe et les différences entre plusieurs location.hrefs

高洛峰
Libérer: 2017-01-12 10:58:34
original
1545 Les gens l'ont consulté

Tout d'abord, comprenons les différences et les liens entre window.location.href, location.href, self.location.href, parent.location.href et top.location.href En termes simples : plusieurs location.href. La différence est que js implémente la fonction iframe de la page Web
"window.location.href", "location.href", "self.location.href" est le saut vers cette page
"parent.location .href" est le saut de page d'un niveau ci-dessus
"top.location.href" est le saut de page le plus à l'extérieur

Par exemple (comme indiqué ci-dessus) :
Si A, B, C, et D sont tous C'est une page ordinaire, D est l'iframe de C, C est l'iframe de B, et B est l'iframe de A.
Si le js dans D s'écrit comme ceci :
"fenêtre .location.href", "location.href": D Saut de page
"parent.location.href": C Saut de page
"top.location.href": Un saut de page

Si il y a un formulaire dans la page D :

 : la page D saute après la soumission du formulaire
 : une nouvelle page apparaît après la soumission du formulaire
 : C après la soumission du formulaire Saut de page
 : Une fois le formulaire soumis, la page A saute

Concernant rafraîchissement de la page, ce qui suit est écrit sur la page D :
"parent.location.reload( );": rafraîchissement de la page C (bien sûr, vous pouvez également utiliser l'objet opener de la fenêtre enfant pour obtenir l'objet du parent window: window.opener.document.location.reload(); )
"top.location.reload(); " : Un rafraîchissement de page

Avec le recul, il est très simple d'implémenter la fonction d'empêcher les pages Web d'être encadrées par des iframes dans js. En supposant que le fichier content.html soit encadré dans le fichier frame.html, l'idée est la suivante : ajoutez js à content.html pour détecter sa propre adresse top.location.href et s'il s'agit de l'adresse top.location.href. Si tel est le cas, il n'est pas imbriqué. Si ce n'est pas le cas, il est imbriqué.

<script language="javascript"> 
if(top.location!==self.location){ 
WarningTxt1 = "content页面被iframe了!"; 
WarningTxt2 = "我们跳出iframe,直接访问content页面吧!"; 
alert(WarningTxt1); 
alert(WarningTxt2); 
top.location.href=self.location.href; 
} 
</script>
Copier après la connexion

Pour plus d'implémentation de js pour empêcher les pages Web d'être imbriquées par des cadres iframe et les différences entre plusieurs articles liés à location.href, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal