使用历史记录后退功能时Firefox行为的变化

时间:2018-09-06 15:53:40

标签: javascript html firefox back browser-history

我在Firefox上有问题。我们网站上的某些页面加载时间为2-3秒。 如果单击了指向这些页面的链接,则会在页面正文中添加一个类,以更改布局。

我注意到,如果您使用Firefox中的“返回历史记录”按钮,则在添加Class的同时加载页面仍会添加到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中执行相同操作,则页面将为白色。

是什么导致这种行为差异?以及如何改变?

1 个答案:

答案 0 :(得分:0)

我通过将以下内容添加到文件的JS-Part中来解决了这个问题;

$( window ).unload(function() {
  return "";
});	

我不确定为什么会起作用,但是效果是否理想。 (至少在Firefox 62.0中)