js实现网页防止被iframe框架嵌套及几种location.href的区别
首先我們了解一下幾種location.href的區(qū)別簡單的說:幾種location.href的區(qū)別js實現(xiàn)網(wǎng)頁被iframe框架功能,感興趣的朋友可以了解下
首先我們了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他們的區(qū)別與聯(lián)系,簡單的說:幾種location.href的區(qū)別 js實現(xiàn)網(wǎng)頁被iframe框架功能?
"window.location.href"、"location.href"、"self.location.href"是本頁面跳轉(zhuǎn)?
"parent.location.href"是上一層頁面跳轉(zhuǎn)?
"top.location.href"是最外層的頁面跳轉(zhuǎn)?
舉個例子說明(如上圖):?
如果A,B,C,D都是普通頁面,D是C的iframe,C是B的iframe,B是A的iframe,?
如果D中js這樣寫:?
"window.location.href"、"location.href":D頁面跳轉(zhuǎn)?
"parent.location.href":C頁面跳轉(zhuǎn)?
"top.location.href":A頁面跳轉(zhuǎn)?
如果D頁面中有form的話:?
<form>: form提交后D頁面跳轉(zhuǎn)?
<form target="_blank">: form提交后彈出新頁面?
<form target="_parent">: form提交后C頁面跳轉(zhuǎn)?
<form target="_top"> : form提交后A頁面跳轉(zhuǎn)?
關(guān)于頁面刷新,D 頁面中這樣寫:?
"parent.location.reload();": C頁面刷新 (當(dāng)然,也可以使用子窗口的 opener 對象來獲得父窗口的對象:window.opener.document.location.reload(); )?
"top.location.reload();": A頁面刷新?
現(xiàn)在回頭看看,js實現(xiàn)網(wǎng)頁防止被iframe框架功能就很簡單了。假設(shè)frame.html文件中框架了content.html文件,那么思路是這樣的:在content.html中加入js檢測自己本身top.location.href地址,是否為top.location.href地址。如果是則沒被嵌套,如果否的話即被嵌套了,這是我們可以提示一下。預(yù)覽效果?
網(wǎng)頁防止被框架方法代碼:?
<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>
總結(jié)
以上是生活随笔為你收集整理的js实现网页防止被iframe框架嵌套及几种location.href的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql2008“备份集中的数据库备份与现
- 下一篇: 中文转韩文在线翻译软件(中文转韩文在线翻