在iframe
页面内编写代码(不是其父代码。代码必须位于iframe src
页面中)
尝试检测scrollTop ..
我已经尝试了document.body.scrollTop
,它适用于所有其他浏览器。
在i-things中,值始终为零。 RIP史蒂夫作业
如何在ipad中滚动iframe获取scrollTop?他们都从我开始,为什么苹果这么难?你认为他们会喜欢i-frames并尝试将它们打造得太合适了吗?
答案 0 :(得分:0)
我找到的唯一解决方案是在iframe的父容器中使用window.pageYOffset并使用postMessage将其发送到iframe。
这是我的解决方案:
iframe请求scrollTop->
this.sendMessage({'type': "getMarginTop", 'source': selector});
容器收听消息并回复 - > pageYOffset
window.addEventListener('message', function (e) {
myiframe.contentWindow.postMessage({"type":"getMarginTop-success", "top": window.pageYOffset}, '*');
});
iframe听取消息 - >
window.addEventListener('message', function (e) {
if (e.data.type == "getMarginTop-success"){
//here the scrollTop data e.data.top
}
}, false);
我希望可以帮助别人