Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iOS document.body.scrollTop在iframe中始终为0_Javascript_Ios_Iframe - Fatal编程技术网

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
页面中写入代码(不是其父级。代码必须在iframe
src
页面中)

正在尝试检测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);
我希望能帮助别人