https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
父窗口iframe自适应子网页高度。如果普通调用js获取子窗口高度,会暴权限问题,请参考上文
子窗口加入js代码
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event)
{
var bHeight = document.body.scrollHeight;
var dHeight = document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
event.source.postMessage(height,event.origin);
}
父窗口加入代码
var iframeTest = $("#IframeTest");
function reinitIframe(){
iframeTest[0].contentWindow.postMessage("hello there!", "*");
}
window.setInterval("reinitIframe()", 1000);
function receiveMessage(event)
{
console.log(event.data);
iframeTest.height(event.data);
}
window.addEventListener("message", receiveMessage, false);
亲测,在当前新版本Chrome,Firefox里都可以