第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

iframe如何獲取父級頁面的變量亦或者window對象?

iframe如何獲取父級頁面的變量亦或者window對象?

猛跑小豬 2019-05-19 15:00:23
打印以后發(fā)現(xiàn)是這樣訪問的:iframe里面,window.widow.VAL但是window里面包含了非常多層,這是什么原因?即我在父頁面的window掛一個變量VALwindow.VAL = 1那么在父頁面里面的iframe訪問VAL可以通過:window.widow.VAL/window.widow.window.VAL。為什么window一直包含window?
查看完整描述

5 回答

?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

如果是父子級關(guān)系
假如我在父頁面定義一個變量

var value=1

子頁面可以直接通過

parent.value 獲取父頁面的這個變量

注意的是 父頁面的定義的變量必須是全局的

window不知道,但應該也可以根據(jù)這種方法套,

比如parent.$("#id")


查看完整回答
反對 回復 2019-05-19
?
侃侃爾雅

TA貢獻1801條經(jīng)驗 獲得超16個贊

window.parent.VAL


查看完整回答
反對 回復 2019-05-19
?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

父窗口對象:window.parent.document


查看完整回答
反對 回復 2019-05-19
?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

window.parent


查看完整回答
反對 回復 2019-05-19
?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

一、同源環(huán)境

 1、首先在父頁面獲取iframe中的window,然后獲取元素,根據(jù)window,不僅可以獲取元素,還能調(diào)用里面的方法,前提是綁定在window上面

var ifW = $('#ifr')[0].contentWindow;

ifW.document.getElementsByClassName('wrap')
2、在iframe中獲取父頁面的window

1
window.parent
3、那么問題來了。這里有些人可能發(fā)現(xiàn),獲取元素的時候,根本獲取不到,或者有時候有,有時候沒有,很奇怪。。。其實呢,這是因為你引入iframe的時候,不能確定iframe是否加載完成,另外具體是iframe里面的js先執(zhí)行,還是父頁面的js先執(zhí)行,也是個問題。既然問題找到了,那就可以給  

ifW.document.getElementsByClassName('wrap')
這句代碼加個延時,或者寫在點擊事件里面,等點擊觸發(fā)才去獲取,這個時候就沒有問題了

二、非同源
可以使用 HTML5的api , window.postMessage

在 iframe 里面,向父頁面發(fā)送消息
1
window.top.postMessage("close",'*');
  

在父頁面,,監(jiān)聽消息
1
2
3
4
window.addEventListener("message", function(event){

var origin = event.origin || event.originalEvent.origin;

}, false);

當然也可以在 iframe里面監(jiān)聽事件, 父頁面發(fā)送消息


查看完整回答
反對 回復 2019-05-19
  • 5 回答
  • 0 關(guān)注
  • 7060 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號