[whatwg] Document's base URI should use the document's *current* address

Justin Lebar justin.lebar at gmail.com
Wed Apr 27 12:43:05 PDT 2011

The document base URL [1] is used when fetching resources.

Right now, if a page doesn't have a <base> element, the document base
URL is set to the document's address.  (I'm going to call this the
"document's original address".)  The document's original address does
not change when you call pushState; only the document's current
address [2] does.

I think the base URI should use the document's current address, not
the original address.

To see why this makes sense, consider the following scenario:

* User loads page.html
* Page calls pushState and changes its url to page2.html
* User clicks on a link with href "#foo".

As currently specified, we'll resolve #foo relative to the document's
original URL; that is, clicking the link will take the user to
page.html#foo, not page2.html#foo.  But the intent of a link with href
#foo is clearly to navigate within the current page, not to go
somewhere else.

Firefox 4 already implements pushState as I'm suggesting here.


[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#document-base-url
[2] http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-document%27s-current-address

More information about the whatwg mailing list