Force Firefox to Reload Page on Back Button

后端 未结 8 1723
孤独总比滥情好
孤独总比滥情好 2020-12-14 08:37

How do you make Firefox rerun javascript and reload the entire page when the user presses the back button? I was able to do this in all browsers except Firefox from the hel

8条回答
  •  猫巷女王i
    2020-12-14 09:09

    In my case, after the final user Post his new data to server, he is redirected to another page. But when the final user press the back button, the form is pre-populated with the old data. So, reload page is needed.

    I did a workaround for Firefox and another for Google Chrome. They have different behavior to show cached pages.

    Doing this will prevent Firefox to cache the page and the back button will bring the page from server.

    window.onunload = function(){};
    

    But Google Chrome do it in another way and the solution above did not work for me. So I did another workaround for Chrome. I did a flag that mark the form as dirty.

    At the top of , before load anything, I check the cookie

    if(document.cookie.match(/my-form=dirty/)) {
      document.cookie = "my-form=; expires=-1; path="+document.location.pathname;
      window.location.reload();
    }
    

    With a help of jQuery, I write the cookie when user modify something

    $(document).load(function(){
      $(':input').change(function(){
        document.cookie = "my-form=dirty; expires=86400000; path="+document.location.pathname;
      })
    })
    

    Good to know:

    • http://code.google.com/p/chromium/issues/detail?id=2636
    • https://developer.mozilla.org/en-US/docs/Using_Firefox_1.5_caching

提交回复
热议问题