国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

JAVASCRIPT獲取觸發(fā)MESSAGE事件的源IFRAME

2019-06-30 00:04:04 5353

翻了翻message事件的屬性,沒找到可以直接獲取事件源iframe的屬性,想想也沒毛病,畢竟事件也可以是其它窗口post過來的。于是想了個曲線方法。


先讓發(fā)送源獲取焦點,然后獲取焦點元素。



window.addEventListener('message',function(msg){

    //做一些事來判斷是不是某個iframe發(fā)送的消息

    msg.source.focus();

    var sourceFrame=document.activeElement;

});

如果不想影響焦點的話,可以遍歷一遍所有的iframe



function findIframe(win){

    var fs=document.querySelectorAll('iframe');

    for(var is=fs.length;is--;){

        if(fs[is].contentWindow==win)

            return fs[is];

    }

}

 

window.addEventListener('message',function(msg){

    var iframe=findIframe(msg.source);//獲取消息源

});

 


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: