我构建了一个脚本,当子项加载到iframe时,该脚本更改了iframe高度。当我只控制console.log时,它返回一个整数。当我使用子项发送的值更改iframe高度时,变量更改为上次函数工作时的值。我几乎花了一天时间来找出这个错误。
孩子的代码:
(function() {
// your page initialization code here
// the DOM will be available here
window.parent.postMessage(
// get height of the content
document.body.scrollHeight
// set target domain
,"*"
)
})();
};
父母中给出怀特高度的代码:
function listenMessage(msg) {
var before = msg.data;
if(before % 1 === 0) {
console.log(before);
}
}
if (window.addEventListener) {
window.addEventListener("message", listenMessage, false);
} else {
window.attachEvent("onmessage", listenMessage);
}
父级中给出错误高度的代码:
function listenMessage(msg) {
var before = msg.data;
if(before % 1 === 0) {
document.getElementById('receiver').height = before;
}
}
if (window.addEventListener) {
window.addEventListener("message", listenMessage, false);
} else {
window.attachEvent("onmessage", listenMessage);
}
我希望有人可以告诉我两个父代码之间的区别。