我有一个页面,可以将观看者屏幕上的整个身体作为过渡动画。它工作正常但是当用户点击浏览器中的后退按钮时,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或任何其他客户端脚本重新加载页面?
答案 0 :(得分:5)
导航回内存缓存页面时,没有onload事件触发。
我认为你有三个主要选择:
答案 1 :(得分:0)
我没试过,但是setTimeout可能会有所帮助。
<script>
setTimeout(function() {
var e=document.getElementById("refreshed");
if(e.value=="no")e.value="yes";
else{e.value="no";location.reload();}
}, 1000);
</script>