Question

My webpage runs a javascript function when the page is loaded. However, I don't want the function to run if the user comes back to this page using the back button. How can I prevent this using javascript?

$(document).ready(function(){
  // Do not run this function if the user has arrived here using the back button  
  RefreshThePage();
});
Was it helpful?

Solution

I'd have thought that using cookies is the easiest way to do this

OTHER TIPS

I think studying the way Struts handles duplicate form submissions could help you.

Some links:

http://www.techfaq360.com/tutorial/multiclick.jsp

http://www.java-samples.com/showtutorial.php?tutorialid=582

http://www.xinotes.org/notes/note/369/

Track when user hits back button on the browser

There are multiple ways of doing it, though some will only work in certain browsers. One that I know off the top of my head is to embed a tiny near-invisible iframe on the page. When the user hits the back button the iframe is navigated back which you can detect and then update your page. Here is another solution.

You might also want to go view source on something like gmail and see how they do it.

Here's a library for the sort of thing you're looking for by the way

The event object offers you to get the key code. so basically you register an eventlistener onKeyDown. Use the received event. if the keycode matches the key you like continue with your function.

document getElementById('elementId').onKeyDown = checkKey();
function checkKey(event) {
  if (event.keyCode === keyCode) then . . . 
}

play around with alert(event.keyCode); to find the right one.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top