When I use the back button on Firefox to reach a previously visited page, scripts on that page won’t run again.
Is there any fix/workaround to have the scripts execute again when viewing the page the second time?
Please note that I have tested the same pages on Google Chrome and Internet Explorer and they work as intended.
Here are the files and the steps I used to test the problem:
(navigate to 0.html, click to get to 1.html, back button)
0.html
<html><body> <script> window.onload = function() { alert('window.onload alert'); }; alert('inline alert'); </script> <a href="1.html">Click Me!</a> </body></html>
1.html
<html><body> <p>Go BACK!</p> </body></html>
Advertisement
Answer
Set an empty function to be called on window.onunload:
window.onunload = function(){};
e.g.
<html><body> <script type="text/javascript"> window.onload = function() { alert('window.onload alert'); }; window.onunload = function(){}; alert('inline alert'); </script> <a href="1.html">Click Me!</a> </body></html>
Source: http://www.firefoxanswer.com/firefox/672-firefoxanswer.html (Archived Version)