亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js操作iframe兼容各種主流瀏覽器示例代碼

2019-11-20 22:30:06
字體:
來源:轉載
供稿:網友
在做項目時,遇到了操作iframe的相關問題。業務很簡單,其實就是在操作iframe內部某個窗體時,調用父窗體的一個函數。于是就寫了兩個很簡單的htm頁面用來測試,使用網上流行的方法在谷歌瀏覽器中始終報錯,不能通過。
父頁面parent.html的代碼如下
復制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ParentFunction() {
alert('ParentFunction');
}
</script></head>
<body>
<input type="button" id="btnCancel" class="button" value="測試" />
<iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe>
</body>
</html>

子頁面child.html的代碼如下
復制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnTest").click(function (e) {
var t=window.parent;
t.ParentFunction();
});
})
</script></head>
<body>
<input type="button" id="btnTest" class="button" value="應該獲取的值" />rrr
</body>
</html>

網絡上流行的方法 var t=window.parent; t.ParentFunction();在IE中能調用,可是在谷歌瀏覽器中總是提示如下錯誤,
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
網上找了很長時間都沒法發現方法,有的也是很早以前的版本,基本上沒用了,而且人云亦云,基本上沒有測試過。于是自己摸索,后來才發現,谷歌瀏覽器其實那種方法其實也可以,只是很奇怪,必須發布后才可以,在文件系統中調用,就會出現上邊的錯誤。
其實還有一種html5的方法postMessage,于是就根據著進行了改寫,最終代碼如下:
父頁面parent.html的代碼如下
復制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
this.ParentFunction= function() {//和注釋掉的方法是一樣的,也就是說加不加this都是一樣的,因為此處的this就是windows
alert('ParentFunction');
}
// function ParentFunction() {
// alert('ParentFunction');
// }
function receiveMessage(e) {
var data = e.data;
if(data=="ParentFunction")
{
ParentFunction() ;
}
}
if (typeof window.addEventListener != 'undefined') {//使用html5 的postMessage必須處理的
window.addEventListener('message', receiveMessage, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onmessage', receiveMessage);
}
</script></head>
<body>
<input type="button" id="btnCancel" class="button" value="測試" />
<iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe>
</body>
</html>

子頁面child.html的代碼如下
復制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnTest").click(function (e) {
var t=window.parent;
if(!t.ParentFunction)//在不支持時,使用html5 的postMessage方法
{
t.postMessage("ParentFunction", '*');
}
else
{
t.ParentFunction();
}
});
})
</script></head>
<body>
<input type="button" id="btnTest" class="button" value="應該獲取的值" />rrr
</body>
</html>

經過改寫后,在文件系統中雖然也會出現那個錯誤,但需要調用的方法確實調用了,目的確實達到了,不影響使用了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久亚洲精品成人网小说| 国产精品色视频| 精品久久久久久中文字幕一区奶水| www.久久色.com| 欧美第一黄色网| 国语自产精品视频在线看一大j8| 国产欧美一区二区三区在线看| 国产97色在线|日韩| 亚洲激情第一页| 日韩在线观看高清| 久久99亚洲精品| 在线精品国产欧美| 亚洲精品欧美日韩专区| 久久久999精品| 国外色69视频在线观看| 国产精品一区久久| 国产精品免费福利| 日本aⅴ大伊香蕉精品视频| 一本大道久久加勒比香蕉| 亚洲精品综合久久中文字幕| 日本久久久久久久久久久| 欧美一级电影久久| 欧美一区二区三区免费视| 精品magnet| 久久精品成人欧美大片| 国产福利视频一区二区| 亚洲午夜激情免费视频| 91国产中文字幕| 黑人巨大精品欧美一区二区一视频| 欧美精品久久久久久久免费观看| 国产99久久精品一区二区| 亚洲国产欧美精品| 欧美激情亚洲自拍| 国产精品海角社区在线观看| 国产97在线|日韩| 日韩av影片在线观看| 国产91精品久| 欧美老女人性视频| 欧美成人激情图片网| 亚洲欧美日韩中文视频| 国产精品久久久久久一区二区| 91超碰中文字幕久久精品| 国产精品自拍网| 欧美日韩在线视频观看| 91成人天堂久久成人| 亚洲第一色中文字幕| 91久久综合亚洲鲁鲁五月天| 久久av中文字幕| 成人国产精品日本在线| 国产亚洲精品久久| 亚洲天堂av女优| 国产亚洲视频在线| 欧美一区二区影院| 欧美福利在线观看| 亚洲精品一区在线观看香蕉| 色综合久久88色综合天天看泰| 亚洲嫩模很污视频| 精品久久久91| 日韩欧美亚洲国产一区| 欧美午夜女人视频在线| 欧美裸体视频网站| 久久99热这里只有精品国产| 欧洲亚洲免费视频| 欧美日韩中文字幕日韩欧美| www.日韩av.com| 精品成人乱色一区二区| 2023亚洲男人天堂| 欧美精品一区二区三区国产精品| 国产精品r级在线| 日韩欧美在线一区| 日韩av网站在线| 啊v视频在线一区二区三区| 亚洲午夜av久久乱码| 日韩免费在线观看视频| 日韩成人中文电影| 日本精品视频在线观看| 精品欧美一区二区三区| 国产91精品久久久久| 国产午夜精品全部视频在线播放| 亚洲国产91精品在线观看| 久久久久久国产免费| 亚洲第一区中文字幕| 亚洲欧美一区二区精品久久久| 韩国精品美女www爽爽爽视频| 草民午夜欧美限制a级福利片| 欧美高清视频一区二区| 国产精品入口免费视频一| 国产免费亚洲高清| 亚洲国产成人一区| 欧美在线观看网址综合| 一个人看的www久久| 成人黄色激情网| 欧美日韩精品在线播放| 欧美猛交免费看| 中文字幕九色91在线| 日韩在线精品视频| 国产精品高潮呻吟久久av黑人| 亚洲黄色av网站| 国产精品天天狠天天看| 国产精品一区二区三区成人| 91国内产香蕉| 神马久久桃色视频| 国产极品精品在线观看| 中文字幕国产日韩| 91精品国产综合久久久久久久久| 91久久久久久久久久| 57pao国产成人免费| 最新69国产成人精品视频免费| 亚洲毛片在线免费观看| 久久久在线观看| 成人网址在线观看| 欧美日韩中文字幕综合视频| 97超级碰在线看视频免费在线看| 国产日韩欧美电影在线观看| 国外成人在线直播| 日韩免费在线播放| 欧美肥臀大乳一区二区免费视频| 欧美激情视频在线| 欧美激情视频一区二区三区不卡| 亚洲无线码在线一区观看| 国产成人综合亚洲| 欧美一级高清免费播放| 88国产精品欧美一区二区三区| 亚洲国产精品va在线观看黑人| 精品久久在线播放| 热久久免费视频精品| 亚洲第一福利网| 日韩在线免费高清视频| 亚洲电影免费观看高清完整版在线观看| 亚洲精品久久久久久久久久久| 亚洲美女性视频| 久久久亚洲国产天美传媒修理工| 国产狼人综合免费视频| 亚洲人成在线一二| 久久资源免费视频| 欧美精品制服第一页| 亚洲精品欧美一区二区三区| 亚洲激情视频网站| 萌白酱国产一区二区| 亚洲第一级黄色片| 91久久久久久久久久久久久| 国语自产精品视频在线看抢先版图片| 国产成人精品一区二区在线| 日韩成人激情视频| 亚洲国产日韩欧美综合久久| 国产视频久久网| 国产精品91免费在线| 欧美亚洲视频在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 成人有码在线播放| 亚洲精品二三区| 91超碰中文字幕久久精品| 黑人巨大精品欧美一区二区| 欧美另类极品videosbest最新版本| 亚洲一区二区三区乱码aⅴ| 亚洲亚裔videos黑人hd| 亚洲人成绝费网站色www| 国产精品中文字幕在线| 日韩欧美中文字幕在线观看| 亚洲精品99久久久久中文字幕| 91网站免费观看| 久久久久久网址| 久久久视频免费观看| 成人妇女淫片aaaa视频|