所以我试图创建一种方法来检测身体何时调整大小,然后我抓住新的高度并通过postmessage发送它。功能不正常的部分是当我缩小身体尺寸时(当我移除(隐藏)一些元素以便身体缩小时)。这不会被检测到,因为window.body.scrollHeight只保存最后一个值。 这是我的代码,我将不胜感激任何建议:
sendMessage();
checkDocumentHeight(sendMessage);
function sendMessage(){
var heightWidth = document.body.scrollHeight+ " " +document.body.scrollWidth;
parent.postMessage(heightWidth, "*");
}
function checkDocumentHeight(callback){
var lastHeight = document.body.scrollHeight, newHeight, timer;
(function run(){
newHeight = document.body.scrollHeight;
if( lastHeight != newHeight )
callback();
lastHeight = newHeight;
timer = setTimeout(run, 1000);
})();
}
答案 0 :(得分:0)
scrollHeight没有改变,你想使用innerHeight。 scrollHeight与文档高度基本相同。这是滚动条的高度。
window.innerHeight