Maison >interface Web >js tutoriel >Comment js détermine-t-il s'il se trouve dans une iframe et empêche-t-il les pages Web d'être imbriquées dans des iframes par d'autres sites ?

Comment js détermine-t-il s'il se trouve dans une iframe et empêche-t-il les pages Web d'être imbriquées dans des iframes par d'autres sites ?

高洛峰
高洛峰original
2017-01-12 11:14:582165parcourir

1. Comment js détermine-t-il s'il se trouve dans une iframe ? 🎜>Ajoutez le code suivant à votre page93f0f5c25f18dab9d176bd4f6de5d30e9c3bca370b5104690d9ef395f2c5f8d1 :

Code Js

//方式一
if (self.frameElement && self.frameElement.tagName == "IFRAME") {
   alert('在iframe中');
}
//方式二
if (window.frames.length != parent.frames.length) {
   alert('在iframe中');
}
//方式三
if (self != top) {
  alert('在iframe中');
}

Cela le fera. Cela empêche les autres d'utiliser des iframes pour intégrer n'importe quelle page de votre site Web. L'effet est le suivant : après avoir entré l'adresse du lien hypertexte vers votre site Web, il accédera automatiquement à votre site Web.

Raison du manque de fiabilité :

Lorsque d'autres personnes utilisent un code similaire à celui-ci pour effectuer des appels IFRAME imbriqués, ils peuvent éviter le code javascript de votre page.

<script language="javascript">
<!--
if (top.location != location)
{
top.location.href = location.href;
}
//-->
</script>
//或
<script language="javascript">
if(self!=top){top.location.href=self.location.href;}
</script>
Code Js

2. La méthode la plus fiable :

Afin d'empêcher complètement les autres d'utiliser le framework IFRAME pour appeler nestly leurs propres pages Web, la méthode suivante est la plus fiable.

La valeur attribuée ici est une page vide, ou l'adresse URL de votre page peut lui être attribuée.

<iframe src="你的页面地址" name="tv" marginwidth="0" marginheight="0" scrolling="No" noResize frameborder="0" id="tv" framespacing="0" width="580" height="550" VSPACE=-145 HSPACE=-385></iframe>
<script language="javascript">
var location="";
var navigate="";
frames[0].location.href="";
</script>
Code Js

Une autre façon de bloquer complètement les iframes est d'ajouter :

Code HTML

<script language="javascript">
if(top != self){
 location.href = "about:blank";
}
</script>

Cela provoque également le erreur "Chargement refusé par X" lors du chargement des iframes -Frame-Options : http://localhost/××××.php n'autorise pas le cadrage." raison !

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra apporter de l'aide à l'étude ou au travail de chacun. J'espère également soutenir le site Web PHP chinois !

Pour plus d'articles connexes sur la façon de déterminer si js est dans une iframe et d'empêcher les pages Web d'être imbriquées dans des iframes par d'autres sites, veuillez faire attention au site Web PHP chinois !

Déclaration:
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