在 Firefox 中单击“后退”按钮,在访问时重新加载页面

2024-04-02

我有一个页面,它可以将整个身体从观看者的屏幕上动画出来作为过渡。它工作正常,但是当用户单击浏览器中的后退按钮时,Firefox 会从历史记录中调出没有正文的缓存页面。

因此,当我通过后退按钮访问时重新加载页面对我来说非常简单。

我尝试了以下代码来重新加载页面,以避免重复重新加载。

<script type="text/javascript">
  window.onload=function(){
    var e=document.getElementById("refreshed");
    if(e.value=="no")e.value="yes";
    else{e.value="no";location.reload();}
  }
</script>
<input type="hidden" id="refreshed" value="no">

它没有解决问题,因为甚至没有调用匿名函数。

所以我尝试设置标题,以便浏览器不会缓存页面。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

它也没有解决问题。

该页面在 Chrome 中运行良好。

我使用的Firefox版本是12.0

如何使用 Javascript、JQuery 或任何其他客户端脚本重新加载页面?


导航回内存缓存页面时不会触发 onload 事件。

我认为你有三个主要选择:

  1. 使用 onpageshow 事件(其中does导航到缓存页面时触发)。
  2. 通过添加卸载事件侦听器来防止页面在内存中缓存 (它可以只是一个空函数)。
  3. 不要做烦人的卸载动画。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Firefox 中单击“后退”按钮,在访问时重新加载页面 的相关文章

随机推荐