首頁 >web前端 >js教程 >js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套

js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套

高洛峰
高洛峰原創
2017-01-12 11:14:582135瀏覽

1. js如何判斷是否在iframe中

Js代碼

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

2. 防止網頁被別站用iframe嵌套

將下面的代碼加到您的頁面

位置即可:

Js代碼

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

這個就能讓別人無法用iframe嵌套你網站的任何頁面,實現的效果是:輸入盜鏈你網站的那個地址後會自動跳到你的網站。

不可靠的原因:

當別人用如下類似程式碼做IFRAME嵌套呼叫時,就可能躲過你的頁面的javascript程式碼。

Js程式碼

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

2.最可靠的方法:

為了徹底防止別人用IFRAME框架嵌套調用自己的網頁,如下方法是最可靠的.

這裡賦值為框架嵌套調用自己的網頁,如下方法是最可靠的.

這裡賦值為空頁,也可賦空值為你的頁面的URL地址.

Js代碼

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

還有一個完全屏蔽被iframe的方法就是添加:

Html代碼

header("X-Frame-Options: deny");
header("X-XSS-Protection: 0");

Html代碼

rrreee

🎜🎜🎜Html代碼🎜 -Frame-Options: http://localhost/××××.php does not permit framing.」的原因! 🎜🎜以上就是本文的全部內容,希望本文的內容對大家的學習或是工作能帶來一定的幫助,同時也希望多多支持PHP中文網! 🎜🎜更多js如何判斷是否在iframe中及防止網頁被別站用iframe嵌套相關文章請關注PHP中文網! 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn