Context :
-
PARENT PAGE加载包含app / plugin的IFRAME
-
PARENT PAGE与IFRAME的域名不同
-
PARENT PAGE和IFRAME都安装了
iframeResizer
插件 - > iframe有 no scroll bar (所有内容都显示在父页面上) - IFRAME总是根据文档高度调整大小 -
PARENT PAGE html / js无法更改,只能更改IFRAME
Problem :
如果用户位于IFRAME的底部并执行操作,那么如何在IFRAME的顶部滚动他?
DO NOT 的解决方案:
-
window.scrollTo(0,0); // from iframe
-
来自iframe的
window.parent
的任何内容(无法访问) -
在iframe体顶部使用锚点并重写
window.location
Solutions that do work?
- 将张贴一个作为答案(它有效,但它很奇怪......对IE不好)
2 回答
您可以尝试使用document.body.scrollIntoView() .
它应该适用于IE8和其他浏览器(我只在Chrome,FF和IE11中测试过它)
请参阅codepen demo here .
这在Chrome和Mozilla中运行良好(IE不工作,为什么?)......但它似乎不是正确的方法 .
DEMO Code pen demo
在IFRAME中创建
input
字段设置INPUT的样式,使其对用户不可见
从IFRAME中按 focusing
input
滚动父页面