Re: Ajax Back/Forward History problem - saving document state by document.save()

On Tue, 22 Nov 2005 17:22:28 +0100, Jim Ley <jim.ley@gmail.com> wrote:

> The problem I have with pushState/popState is that it's only solving
> part of the problem, the back/forward navigation.   It's not solving
> the going away and coming back on another machine, or the emailing a
> link to someone, and it requires scripting to sync the local state
> with what they want it to be, and local storage to persist the
> information, shared bookmarks and shared history no longer work.

Exactly, but it would be possible to implement with fragment identifiers.  
A ugly URL like http://s/a#state1?id=1&sort=date&filter=foo could take you  
to the right place with the right state. I think Backbase already support  
this.

Could pushState also be linked with URI's?

The current WHATWG on pushState draft only take a JavaScript object.  
Wonder if it's possible to do pushState({execute : function() { ... })

> The simple proposal in the start of this thread did meet that needs,
> what it says is the state I'm in now, is equivalent to the state you
> get when you request this URI, this requires no local storage, and the
> request can be copied to other users.

But this solution might still require a script to run when the page is  
entered again. E.g. how do you set the currently focused item and who will  
remember it? Would work with pages where all the state information is  
stored in the DOM though and there is enough storage capacity on the  
device. Probably not a good solution for mobile phones with low storage  
capacity.

> Of course the 2 use cases are actually very different, and it's not
> surprising they end up with very different solutions - the simple
> "this uri is equivalent to the current view" of the initial proposal
> is extremely powerful for the majority of non-web-application systems.

Yes, this is important. The concept of browsing the web and using web  
applications are very different. When you use an application the  
navigation would probably follow a path from a start page. You could  
imagine entering at http://s/a#detailView?itemId=1, pressing back would  
logically lead to http://s/a#listView?categoryId=2, and then to  
http://s/a#start

-- 
Cheers,

- Gorm Haug Eriksen / Opera Software ASA

Received on Wednesday, 23 November 2005 01:06:05 UTC