火狐刷新

Firefox Refresh

本文关键字:刷新 火狐      更新时间:2023-09-26

我有一个带有以下脚本的 HTML:

<script type="text/javascript">
    function doRefreshWithInterval() {
        setTimeout("doRefresh()", 60000 );
    }
    function doRefresh() {
        window.location.reload(true);
    }
    if (window.location.href.indexOf("Dashboard.jspa") >= 0) {
        doRefreshWithInterval();
    }
</script>

使页面定期刷新。问题是当我向下滚动页面(这是一个长页面)并且在某些浏览器(特别是 Firefox)上发生刷新时,浏览器会转到页面顶部而不是我所在的位置。有没有办法防止这种情况,并使 Firefox 在刷新后向下滚动到最后一个位置?

我想

到的一个解决方案是:

  1. 刷新前,获取页面的垂直位置
  2. 将该号码存储在 cookie 中
  3. 刷新
  4. 在页面加载时,查看是否有用于页面位置的cookie
  5. 通过脚本滚动到该位置

实际上,您只需要对现有代码进行一次微小的更改。将document.location.reload(true);更改为document.location.reload();

使用true,您可以强制浏览器再次从服务器获取页面,这意味着您将丢失该页面的位置。当您删除true时,浏览器会从缓存中加载页面,从而保留您在页面上的位置。

但是,如果您自动重新加载页面的原因是获取服务器可能已修改的页面的最新版本,则这可能没有帮助。

在 Firefox 12.0 中使用 Firebug 进行测试。