Hey Jonas et al.:
Thanks for the reply, forgive my disbelief on Clarification 1. :) If I'm completely with you, that is entirely unexpected on my part (and I've read this part of the spec a few times). Is this to imply that, no matter what the arguments to pushState(), if the path is relative to the current URL there will be no request for a new document and no user-agent initiated network activity?

This is a behavior I'm fine with and will meet my needs just as well, I was simply expecting to have to use the approach from Clarification 2 in order to retain my document object. It does however lend itself to some confusion when paired with user agents that don't yet support the history portions of the spec as they will have to be handled with hash-based addressing while those that support pushState() will have more sane URLs--but that is no matter in the grand scheme of things.

Also, that would imply that the popstate only fires when you're navigating through history. Is that correct?

Thanks!
Nathan

On Jul 30, 2009, at 4:42 AM, Jonas Sicking wrote:

On Wed, Jul 29, 2009 at 7:38 PM, Nathan Hammond<nat...@nathanhammond.com > wrote:
Clarifications
1. window.history.pushState({}, "Title",
"/path/to/new/file.html?s=newvalue#newhash") replaces the current document object with the one specified by the new URL. It then causes the event
popstate to fire immediately after the load event, correct?

No. The above line with change the uri of the existing document to be
"http://example.com/path/to/new/file.html?s=newvalue#newhash"; (with
the part before 'path' obviously depending on where the original page
lives).

So no network activity takes place and the Document node remains the
same. Also no popstate event is fired.

2. window.history.pushState({}, "Title", "#newhash") creates a new history state object with the specified data object, the specified title, the same document object, and a location object that replaces the existing hash with
"#newhash", correct?

Yes.

/ Jonas

Reply via email to