Firefox刷新

时间:2012-08-12 04:05:33

标签: javascript

我有一个包含以下脚本的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在刷新后向下滚动到最后位置?

2 个答案:

答案 0 :(得分:3)

我想到的解决方案是:

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

答案 1 :(得分:2)

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

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

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

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