我正在开发一个使用跨域iframe进行大小调整的网站,使用postMessage实现。唯一的问题是,我无法确定每个iframe的高度。目前的设置是当任何一个iframe将其高度发送给父级时,所有iframe的高度都被更改了。
父级:
var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";
eventer(messageEvent, function(e) {
$('iframe').height(e.data);
}, false);
IFrame:
var updateHeight = function() {
if(window.parent) {
window.parent.postMessage($('.widget').outerHeight(), '*');
}
};
有没有办法识别是哪个iframe
发送了message
事件?
myIFRAME.contentWindow == event.source
不起作用吗?ev.source.parent
看起来像是两层嵌套的消息。 - leewz