[whatwg] <a onlyreplace>
Tab Atkins Jr.
jackalmage at gmail.com
Sun Oct 18 19:59:49 PDT 2009
On Sun, Oct 18, 2009 at 9:42 PM, Schuyler Duveen <whatwg at graffitiweb.org> wrote:
> Tab Atkins Jr. wrote:
>> On Sun, Oct 18, 2009 at 11:50 AM, Schuyler Duveen
>> <whatwg at graffitiweb.org> wrote:
>>> The problem is that people will make links that refresh different parts
>>> of a document, to the point that the current document is no longer
>>> addressable. Use cases for this happen often enough (not necessarily
>>> good design, but people will do this)
>>> In the past, a good way to give (back) addressability to users is with
>>> hash tags. But here, the location changes, and the hash goes away.
>>> addressable to users by default. When this hasn't been true, like with
>>> framesets, lots of confusion and frustration ensues.
>>> If this is, in the longterm, going to work non-dynamically, then things
>>> should be addressable by default. It's one of the killer features of
>>> the web :-)
>> You're right, and this makes me think more strongly that restricting
>> the ability to specify the replaceable bits to just <base> is the
>> right way to do this.
> I'm starting to think the addressability is the main constraint. What
> if the original @onlyreplace anchor tag:
> <a onlyreplace="id1 id2" href="page2.html" />
> would be equivalent to something like this:
> <a href="#view(page2.html id1 id2)" />
> which would process onload or onhashchange as we've been describing
> @onlyreplace and would appear in the browser's location bar. A more
> complicated one (after two jumps) might look something like:
> http://example.com/page1.html#view(page2.html id1 id2);view(page3 id3)
Hmm, that's interesting. So, rather than simply changing the url and
hoping that the author is maintaining the correct semantics (so that
visiting the url fresh gives you same/similar results), you just
explicitly express that the page is a combination of multiple pages.
I suppose that if, in your example, you then clicked a <a
href=page4.html onlyreplace=id3>, the url would change to
http://example.com/page1.html#view(page2.html id1 id2);view(page4.html
id3); that is, it would record the location each segment was drawn
from, but not the full history, as that is irrelevant for regenerating
Then bookmarking that url and visiting it again would presumably make
3 separate requests, once for page1 for most of the page, and then for
page2 and page4 for the particular ids. Right?
More information about the whatwg