Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie stellt js fest, ob es sich in einem Iframe befindet, und verhindert, dass Webseiten von anderen Websites in Iframes verschachtelt werden?

高洛峰
Freigeben: 2017-01-12 11:14:58
Original
2119 Leute haben es durchsucht

1. Wie stellt js fest, ob es sich in einem Iframe befindet? 🎜>Fügen Sie den folgenden Code zu Ihrer Seite hinzu:

Js-Code

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

Dadurch wird verhindert, dass andere Iframes verwenden, um eine Seite Ihrer Website einzubetten. Der Effekt ist: Nach der Eingabe der Adresse des Hotlinks zu Ihrer Website wird automatisch auf Ihre Website gesprungen.

Grund für die Unzuverlässigkeit:

Wenn andere Code ähnlich dem folgenden verwenden, um verschachtelte IFRAME-Aufrufe durchzuführen, vermeiden sie möglicherweise den Javascript-Code Ihrer Seite.

<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>
Nach dem Login kopieren
Js-Code

2. Die zuverlässigste Methode:

Um vollständig zu verhindern, dass andere das IFRAME-Framework für Nestly-Aufrufe verwenden ihre eigenen Webseiten. Die folgende Methode ist die zuverlässigste.

Der hier zugewiesene Wert ist eine leere Seite, oder ihm kann die URL-Adresse Ihrer Seite zugewiesen werden.

<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>
Nach dem Login kopieren
Js-Code

Eine andere Möglichkeit, Iframes vollständig zu blockieren, besteht darin, Folgendes hinzuzufügen:

Html-Code

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

Dies verursacht auch das Fehler „Laden verweigert durch X“ beim Laden von Iframes: http://localhost/××××.php erlaubt kein Framing.“ Grund!

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder Arbeiten helfen kann. Ich hoffe auch, die PHP-Chinese-Website zu unterstützen.

Weitere verwandte Artikel darüber, wie Sie feststellen können, ob sich js in einem Iframe befindet und verhindern, dass Webseiten von anderen Websites in Iframes verschachtelt werden, finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage