Javascript iOS document.body.scrollTop在iframe中始终为0
在Javascript iOS document.body.scrollTop在iframe中始终为0,javascript,ios,iframe,Javascript,Ios,Iframe,在iframe页面中写入代码(不是其父级。代码必须在iframesrc页面中) 正在尝试检测scrollTop 我已经尝试了document.body.scrollTop,它可以在所有其他浏览器中使用 在i-things中,值始终为零。瑞普·史蒂夫·乔布斯 如何在ipad中获得滚动iframe的scrollTop?他们都是从我开始的,为什么苹果让它变得如此困难?你可能会认为他们会喜欢i-Frame,并尝试将其标记为正确的?我找到的唯一解决方案是在iframe的父容器中使用window.pageY
iframe
页面中写入代码(不是其父级。代码必须在iframesrc
页面中)
正在尝试检测scrollTop
我已经尝试了document.body.scrollTop
,它可以在所有其他浏览器中使用
在i-things中,值始终为零。瑞普·史蒂夫·乔布斯
如何在ipad中获得滚动iframe的scrollTop?他们都是从我开始的,为什么苹果让它变得如此困难?你可能会认为他们会喜欢i-Frame,并尝试将其标记为正确的?我找到的唯一解决方案是在iframe的父容器中使用window.pageYOffset,并将其与postMessage一起发送到iframe 以下是我的解决方案: iframe请求滚动顶部->
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);
我希望可以帮助别人我找到的唯一解决方案是在iframe的父容器中使用window.pageYOffset,并将其与postMessage一起发送到iframe 以下是我的解决方案: iframe请求滚动顶部->
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);
我希望能帮助别人