js實(shí)現(xiàn)網(wǎng)頁防止被iframe框架嵌套及幾種location.href的區(qū)別
更新時(shí)間:2013年08月28日 16:42:57 作者:
首先我們了解一下幾種location.href的區(qū)別簡單的說:幾種location.href的區(qū)別js實(shí)現(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實(shí)現(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)
舉個(gè)例子說明(如上圖):
如果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 對(duì)象來獲得父窗口的對(duì)象:window.opener.document.location.reload(); )
"top.location.reload();": A頁面刷新
現(xiàn)在回頭看看,js實(shí)現(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>
"window.location.href"、"location.href"、"self.location.href"是本頁面跳轉(zhuǎn)
"parent.location.href"是上一層頁面跳轉(zhuǎn)
"top.location.href"是最外層的頁面跳轉(zhuǎn)
舉個(gè)例子說明(如上圖):
如果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 對(duì)象來獲得父窗口的對(duì)象:window.opener.document.location.reload(); )
"top.location.reload();": A頁面刷新
現(xiàn)在回頭看看,js實(shí)現(xiàn)網(wǎng)頁防止被iframe框架功能就很簡單了。假設(shè)frame.html文件中框架了content.html文件,那么思路是這樣的:在content.html中加入js檢測自己本身top.location.href地址,是否為top.location.href地址。如果是則沒被嵌套,如果否的話即被嵌套了,這是我們可以提示一下。預(yù)覽效果
網(wǎng)頁防止被框架方法代碼:
復(fù)制代碼 代碼如下:
<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>
您可能感興趣的文章:
- js動(dòng)態(tài)創(chuàng)建上傳表單通過iframe模擬Ajax實(shí)現(xiàn)無刷新
- iframe子父頁面調(diào)用js函數(shù)示例
- js與jQuery 獲取父窗、子窗的iframe
- js下判斷 iframe 是否加載完成的完美方法
- js iframe跨域訪問(同主域/非同主域)分別深入介紹
- js中iframe調(diào)用父頁面的方法
- js操作iframe的一些方法介紹
- JS中Iframe之間傳值及子頁面與父頁面應(yīng)用
- js實(shí)現(xiàn)iframe動(dòng)態(tài)調(diào)整高度的代碼
- JavaScript實(shí)現(xiàn)同一頁面內(nèi)兩個(gè)表單互相傳值的方法
- jquery ajax提交表單從action傳值到j(luò)sp實(shí)現(xiàn)小結(jié)
- JS實(shí)現(xiàn)向iframe中表單傳值的方法
相關(guān)文章
ASP.NET Core利用UrlFirewall對(duì)請(qǐng)求進(jìn)行過濾的方法示例
這篇文章主要給大家介紹了關(guān)于ASP.NET Core利用UrlFirewall對(duì)請(qǐng)求進(jìn)行過濾的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05ASP.NET 根據(jù)漢字獲取漢字拼音的首字母(含多音字)
本文分享了一個(gè)函數(shù),這個(gè)函數(shù)可以根據(jù)漢字的字符串獲取其拼音的首字母,以便我們?cè)趯?shí)際開發(fā)中使用。2016-04-04獲取遠(yuǎn)程網(wǎng)頁的內(nèi)容之一(downmoon原創(chuàng))
獲取遠(yuǎn)程網(wǎng)頁的內(nèi)容之一(downmoon原創(chuàng))...2007-03-03解析在.net中使用XSLT轉(zhuǎn)換xml文檔的示例詳解
本篇文章是對(duì)在.net中使用XSLT轉(zhuǎn)換xml文檔的示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢分享
這篇文章主要給大家介紹了關(guān)于NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用NET Core 3.0具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09ASP.NET筆記之 Request 、Response 與Server的使用
本篇文章小編為大家介紹,ASP.NET筆記之 Request 、Response 與Server的使用。需要的朋友參考下2013-04-04為GridView的行添加鼠標(biāo)經(jīng)過、點(diǎn)擊事件的小例子
這篇文章介紹了GridView的行添加鼠標(biāo)經(jīng)過、點(diǎn)擊事件的小例子,有需要的朋友可以參考一下2013-11-11