- From: Karl Pongratz <karlhp@karlhp.com>
- Date: Sun, 20 Nov 2005 11:37:05 +0200
- To: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- CC: public-webapi@w3.org, ian@hixie.ch
Hi Lachlan, Ian & anyone else, Lachlan, I do not want to change the location via window.location.href = "..." because it will reload the entire page, that is exactly what I want to avoid. Hence I suggested document.save() which saves the altered document to the web browser cache and at the same time gives it a new URI without reloading anything. (The altered document is a web page where a javascript array has been loaded via xmlhttp and from which new content has been created via DOM scripting) I repeat, the URI which is passed as an argument to document.save() serves the purpose to identify the document(resource), the same as traditional resources. In this case it would be possible to bookmark a page or click the web browser reload button and yet the user will get the right document. If the altered document would be saved to the web browser cache without changing the URI the web browser probably wont recognize the document nor would it be possible to bookmark the page, respectively the web browser would show the wrong document if the user clicks the web browser reload button. Ian, You suggest pushstate which I don't clearly understand yet, however, the following paragraph states: "Typically, the history list will consist of only URIs. However, a page can add <http://whatwg.org/specs/web-apps/current-work/#pushstate> state objects between its entry in the session history and the next ("forward") entry. These are then returned to the script <http://whatwg.org/specs/web-apps/current-work/#popstate> when the user (or script) goes back in the history, thus enabling authors to use the "navigation" metaphor even in one-page applications." I am not sure about "returned to the script", I don't really wont any script to be executed when the user navigates through the web browser history. With document.save() I really just want that the altered document becomes a new document in the web browser history including the URI. And as I understand pushstate doesn't care about bookmarking or the web browser reload button. I also want to note that I wanted to propose something simple that solves the emerging Ajax web application web browser history problem, something that is strongly tight to the xmlhttp request object and would be easy to implement by user agent vendors. Solve a big problem with little effort, though I am definitely not sure if document.save() would be easy to implement nor if it is actually the best solution. However, the WebForms and WebApplications draft specification goes far beyond that and will probably require a huge effort to be implemented compared to a single document.save() or similar function. Also, having the possibility to save altered documents with a new URI may perfectly fit into the Architecture of the World Wide Web, http://www.w3.org/TR/webarch/#pr-uri-collision Thanks, Karl Lachlan Hunt wrote: > Karl Pongratz wrote: > >> Yes, I alter the page content! A table with 20 rows is different than >> a table with 100 rows, so I think the content is altered. Isn't it? >> The additional table rows are generated via DOM scripting. > > > Yes, I know the page content is altered. I never said it wasn't. > >> The reason that I change the URI is > > > My point was that if you change the URI (e.g. by calling > window.location.href = "...";), then that will load a new document, > not just alter the current page. If that is not what occurs, could > you please elaborate. > >> b.) IMPORTANT. If the user calls the document with the 100 rows >> through the web browser history and than clicks the web browser >> Reload button then the server needs to know that the requested >> resource is a table document with 100 rows. That's only possible if >> the URI has changed. > > > The URI is one way to remember the state, another is with a session > cookie from which the server can lookup the user's current state. > >> So it is probably not #pushstate or is it? > > > I don't know, you haven't expressed yourself clearly enough for me to > determine for sure whether it is or not, but I believe it is. >
Received on Sunday, 20 November 2005 09:37:05 UTC