先讓發送源獲取焦點,然后獲取焦點元素。
window.addEventListener('message',function(msg){
//做一些事來判斷是不是某個iframe發送的消息
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);//獲取消息源 });
