【问题标题】:How to Figure Out the Cause of a Browser Window Jump in JavaScript?如何找出 JavaScript 中浏览器窗口跳转的原因?
【发布时间】:2018-01-24 00:48:27
【问题描述】:

简化,有一个嵌入了 iframe 的 html 页面,其中嵌入了传单地图:

<html>
...
  <iframe>
    ...
    <div class="leafletMap"></div>
    ...
  </iframe>
...
</html>

页面顶部是一个表格。页面底部是 iframe。该页面有一个滚动条。如果我最初加载页面,页面将滚动到顶部。如果由于用户与页面的交互,iframe 中的传单地图被重新加载,则页面会跳到浏览器窗口的底部到 iframe。

目的是在重新加载传单地图后浏览器窗口不会跳到底部。而是根本不跳。如果由于用户交互,传单地图被重新加载,则应该没有浏览器滚动。

试图覆盖窗口、iframe 和传单对象的焦点和/或滚动事件但没有成功。如何找出导致页面跳转的原因或一般如何防止它?

【问题讨论】:

    标签: javascript jquery html iframe leaflet


    【解决方案1】:

    要禁用滚动位置,请在父页面上尝试以下操作:

    <script>history.scrollRestoration = "manual"</script>
    

    或者,onunload/beforeunload父页面的事件

    window.beforeunload = function(){ window.scrollTo(0,0); }
    

    【讨论】:

    • scrollRestoration 我相信只有 Chrome
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多