- From: Jonas Sicking <jonas@sicking.cc>
- Date: Sun, 27 Jul 2008 06:46:13 -0700
Jonas Sicking wrote: > To minimize the difference between when a SH entry is recovered from the > fastback cache, compared to when the document is reparsed, the Location > object should be changed to reflect the new URL whenever pushState is > called with a url. The advantage of changing the Location object is that > this makes the page behave the same no matter of if it has been reloaded > or not. Setting the Location objects value will cause reloading vs. > scrolling vs. do nothing in the same cases. Similarly reading the > Location will return the same thing no matter of if there has been a > reload or not. > > > Yes, this is different from how legacy browsers behave. However the > whole point of this API is to improve on the current iframe hacks. If we > didn't there would be no point in adding a new API as it wouldn't be > worth the code fork for users. > > Reloads mostly don't work with the iframe hack anyway so you'll end up > with vastly different behavior no matter what. And if we're not > considering the reload case then the hashchanged event should be enough. > > This isn't a big deal though as far as I can think of. Only if your > application runs inside someone elses iframe and that outer app is > intimately interacting with you I can see that it makes a difference. > This doesn't seem common enough that we should prioritize for it. Additionally, I just noticed that gmail does set the location.hash of the top window. So gmail would want to change the Location object for compat with legacy browsers. And a library that used a hidden iframe for legacy browsers and really wanted to be compatible as far as the Location object goes (though i'm still unconvinced that anyone cares) could use iframe.history.pushState(); / Jonas
Received on Sunday, 27 July 2008 06:46:13 UTC