Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML5 onpopstate on page load

I'm using the new HTML5 onpopstate event. Using Firefox 4 the window.onpopstate event is triggered on a page load whilst in Webkit this does not seem to be the case.

Which is the correct behaviour?

like image 799
epoch Avatar asked Sep 13 '10 12:09

epoch


2 Answers

The popstate event is fired in certain cases when navigating to a session history entry.

http://www.whatwg.org/specs/web-apps/current-work/#event-popstate

From my understanding, though I could be wrong, seeing as loading the page does mean history is created and traversed to, yes, it should be fired on page load.

Also see,

http://www.mail-archive.com/[email protected]/msg19722.html

and,

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history

like image 98
Delan Azabani Avatar answered Sep 28 '22 04:09

Delan Azabani


Firing onpopstate on page load is correct, and WebKit will have this behavior soon. WebKit 534.7 (Chrome 7.0517.44) now behaves this way.

I filed a Chrome bug on it, but it turns out this is the desired behavior; it is needed in order to handle certain back/forward button actions correctly. See this bug report at code.google.com for more discussion and links.

I'm still trying to come up with a good code pattern for an onpopstate event handler.

like image 21
Robert Calhoun Avatar answered Sep 28 '22 02:09

Robert Calhoun