程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> js實現網頁防止被iframe框架嵌套及幾種location.href的區別

js實現網頁防止被iframe框架嵌套及幾種location.href的區別

編輯:ASP.NET基礎
首先我們了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他們的區別與聯系,簡單的說:幾種location.href的區別 js實現網頁被iframe框架功能
"window.location.href"、"location.href"、"self.location.href"是本頁面跳轉
"parent.location.href"是上一層頁面跳轉
"top.location.href"是最外層的頁面跳轉

舉個例子說明(如上圖):
如果A,B,C,D都是普通頁面,D是C的iframe,C是B的iframe,B是A的iframe,
如果D中js這樣寫:
"window.location.href"、"location.href":D頁面跳轉
"parent.location.href":C頁面跳轉
"top.location.href":A頁面跳轉

如果D頁面中有form的話:
<form>: form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉

關於頁面刷新,D 頁面中這樣寫:
"parent.location.reload();": C頁面刷新 (當然,也可以使用子窗口的 opener 對象來獲得父窗口的對象:window.opener.document.location.reload(); )
"top.location.reload();": A頁面刷新

現在回頭看看,js實現網頁防止被iframe框架功能就很簡單了。假設frame.html文件中框架了content.html文件,那麼思路是這樣的:在content.html中加入js檢測自己本身top.location.href地址,是否為top.location.href地址。如果是則沒被嵌套,如果否的話即被嵌套了,這是我們可以提示一下。預覽效果

網頁防止被框架方法代碼:
復制代碼 代碼如下:
<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>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved