Thread Previous • Date Previous • Date Next • Thread Next |
On 09-07-31 10:05 AM, Gavin Panella wrote:
Hi Maris, I just had the following conversation (edited for clarity) with BjornT and intellectronica: <allenap> BjornT: I made a dogs dinner of that. Changed the status inline, clicked on the milestone just to check it out, went back one page, changed the milestone and the status was reset to Triaged at the same time. Changes to the page made by Javascript do not get remembered in history, or they didn't here. <allenap> BjornT: I wonder if there's a way to invalidate a page from Javascript, forcing a browser refetch when moving in the history. <BjornT> allenap: i don't think so. that's one thing that generally sucks with ajax sites; history doesn't work well <intellectronica> allenap: there are tricks to control the history when using ajax, but we don't use anything yet (it needs to be consistent for the application as a whole) Have you given this any thought for Launchpad? What are our options?
That is a new problem for me. As Aaron said, YUI has a component built specifically for this purpose:
http://developer.yahoo.com/yui/3/history/It records the page state in the URL #fragment portion. However, this is not without limitations, not the least of which is making the fragment useless for in-page anchor navigation :(
http://developer.yahoo.com/yui/3/history/#limitationsA better solution may be fast update polling, or POST tokens. Imagine that you leave a bugs page open for a day, then update the status via AJAX - and stomp on someone's changes. You can solve this by sending unique POST tokens with each request, or by polling for page updates, or both. That same solution would re-check the page when you navigated back using the browser history, invalidating the page for you.
Maris
Attachment:
signature.asc
Description: OpenPGP digital signature
Thread Previous • Date Previous • Date Next • Thread Next |