How would you stop a page from refreshing automatically?

(Updated 2020-03-30)

In Firefox 74 this option is in Options -> Privacy & Security -> Permissions enter image description here

(Original reply)

Firefox has the option to prevent refresh natively, the option is in Advanced->General->Warn me when websites try to redirect or reload the pageenter image description here


The most popular solution for this problem is to trap the beforeunload event. The browser will ask the user for confirmation to leave the page. The code, in its simplest form, looks like this:

window.onbeforeunload = function() { return true }

You can enter this code in console. Alternately, you can simply paste the following URL in the browser address bar (console not required). You can even bookmark it.

javascript:window.onbeforeunload = function() { return true }

Be advised that modern browsers might chop off the javascript: part when you paste it inside the address bar; make sure you type it back.


To determine the cause of redirect in Firefox, try the following:

  • Open Web Developer Tools (CTRL + SHIFT + I), open "Toolbox Options" and check the "Enable persistent logs" option. This makes the logs persist across page loads (logs are cleared otherwise).

  • Now switch to "Network Monitor" tab.

  • Open the URL and let it refresh.

  • Inside the Network Monitor > Cause column you will find out why the page reloads.

Firefox Web Developer Tools > Network Monitor

The cause column is pretty ambiguous (Chrome does a much better job). However, if JavaScript was used to trigger page (re)load then it at least shows you the filename and line number of that script.


Usually I just open DevTools, switch to the appropriate panel if necessary, and hit pause.

Opening DevTools: Via menus, or by press F12, Ctrl+Shift+I, or Cmd+Shift+I depending on browser and OS.

Switching panels: Pick the panel from the tabs at the top of DevTools. It'll be called "Debugger" (Firefox, IE) or "Sources" (Chrome) or similar.

Pausing: In the Debugger/Sources panel, click the pause button (usually looks like the pause button on a television remote control, ||) or press the keyboard equivalent. Keyboard equivalents are

  • Firefox & Chrome: F8
  • IE: Ctrl+Shift+B