这个问题似乎永远存在.在某些特定情况下,iOS浏览器会出现这个令人沮丧的bug.
问题:
如果您有一个包含iFrame的网页,并且您要以编程方式修改iFrames内容文档,则iFrame将跳转到页面顶部.但是,只有在DOM操作之前的页面超出某个高度时才会发生这种情况,通常这似乎是一个大于视口长度两倍的长度.
无论您是要修改DOM结构还是更改样式属性,都会出现此问题.
此错误仅出现在iOS上,包括此时的最新版本(9.2)
iOS和iframe ..这样的痛苦。我有一个简单的“ 返回页首”按钮,该按钮应使滚动具有动画效果(而不仅仅是跳转到页面顶部)。
$(document).on('click touchstart', '.backtotop', function() {
$('html, body').animate({ scrollTop: 0 }, 1500);
});
Run Code Online (Sandbox Code Playgroud)
除iOS上的iframe外,此功能均可在所有地方使用。我仍然不太了解iOS如何处理iframe。jQuery的.scrollTop()函数也不起作用(无论如何都不能动画)。
在iOS上的iframe中唯一起作用的是:
parent.self.scrollTo(0, 0);
Run Code Online (Sandbox Code Playgroud)
显然,这不是最佳解决方案,因为它不适用于桌面浏览器。通常,如果您对如何在iOS上修复此问题或iframe有了更深入的了解,将非常感谢。