javascript - 移动Safari : Auto Scroll/Pan to specific position on page after reload

标签 javascript iphone mobile-safari viewport

我正在为 iPhone 编写网页/应用程序。我需要在页面重新加载后滚动到特定位置,无论我之前使用页面时滚动到哪里。 我使用的脚本在 Firefox 中运行良好,但在 mobileSafari 中运行不佳。与 Firefox 相比,mobileSafari 似乎保存了我之前滚动到的位置,并在重新加载后跳转到那里,忽略了重新加载时触发的scrollTo。

这是我使用的代码:

function scroller(){scrollTo(1000,1000);}
window.addEventListener("load",scroller, false);

它适用于我手动触发的点击事件。如果我单击按钮触发滚动功能,则滚动完成。 我尝试通过合成事件 JavaScript 触发点击,但这也不起作用。

有什么方法可以在重新加载和/或其他未明确用户触发的事件时存档滚动吗?

最佳答案

我没有找到实际问题的解决方案,这似乎是一个错误。但我找到了一个解决方法。这不是直接通过 onload 事件触发滚动,而是使用 setTimeout()

init(){
setTimeout(scrollTo(0, 1000), 10)
//more code
}
//more code
window.onload=init;

关于javascript - 移动Safari : Auto Scroll/Pan to specific position on page after reload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3654024/

相关文章:

iphone - XCode 未找到崩溃日志

ios - Swift - 带有图像的 UIAlertController

javascript - YouTube嵌入式视频无法在Safari的iOS 9上播放

ios - 升级到 iOS 11.3 后,网络应用程序不显示每个 apple-mobile-web-app-capable 的全屏

android - 支持访问 GPS 定位的移动 Safari 的第一个版本/构建是什么?

javascript - 在异步函数中抛出的错误被捕获

JavaScript 从同一对象的另一个成员访问对象成员

javascript - 在页面加载时通过 JQUERY 获取 SelectList 值

javascript - 如何将参数附加到 Select2 中的 ajax 请求?

ios - 如何为uiscrollview添加页面控件?