我在Firefox上遇到了问题。我们网站上有一些页面加载时间为2-3秒。如果单击指向这些页面的链接,则会在页面正文中添加一个更改布局的类。
我注意到,如果您使用Firefox中的历史记录返回按钮,则会在添加类时将页面加载到body标记中。在Chrome中,布局就像页面刚刚加载一样。
我确定Firefox曾经有过与Chrome相同的行为。但重新发送此接缝已经高呼。我这里有一个微型脚本来说明问题:
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script>
$( document ).ready(function() {
$('a.withWaitscreen').on({
click: function() { $("body").addClass("waiting");waitscreenCountdownInit(); }
});
$('button.withWaitscreen').on({
click: function() { $("body").addClass("waiting"); waitscreenCountdownInit(); }
});
$('form.withWaitscreen').on({
submit: function() { $("body").addClass("waiting"); waitscreenCountdownInit(); }
});
});
</script>
<style>
.waiting{
background-color: red;
}
</style>
<body >
</body>
<a class="withWaitscreen" href="https://www.google.com/">
test
</a>
</html>
如果单击Firefox中的测试链接并单击浏览器中的“后退”按钮,页面将显示为红色。如果您在Chrome中执行相同操作,则该页面将为白色。
导致这种行为差异的原因是什么这怎么可能改变?
我通过将以下内容添加到文件的JS-Part来解决了这个问题;
$( window ).unload(function() {
return "";
});
我不确定为什么会这样,但它有预期的效果。 (至少在Firefox 62.0中)