Heim >Web-Frontend >js-Tutorial >Wie stellt js fest, ob es sich in einem Iframe befindet, und verhindert, dass Webseiten von anderen Websites in Iframes verschachtelt werden?

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

高洛峰
高洛峰Original
2017-01-12 11:14:582136Durchsuche

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

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中');
}

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>
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>
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>

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!

Stellungnahme:
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