Base tag broken: Images/Links have invalid paths in sub-directory documents. #1508

jblas opened this Issue Apr 22, 2011 · 4 comments


None yet

3 participants

jblas commented Apr 22, 2011

If you use FireFox 4 or any other browser (Chrome) that shows you the href of a link when you hover over it, and you navigate to:

then click on "Pages & dialogs", after the new page transitions in, hover over the listview items on the page and see what the browser displays. I'm seeing URLs like this:

Notice the "/test//test" in the middle? it should be displaying:

This seems to be due to the fact that we switched to passing in site relative URLs into base.set(). When the base code was originally written, I think it assumed that the path passed in would always be document relative which is why it prepends the HREF passed in with docbase..

@jblas jblas was assigned Apr 22, 2011

This url demonstrates that the base tag is no longer correct:


I took a look at this after Kin mentioned it on Friday, and the naive fix is to check for an absolute path in the hash and just use location.protocol + "//" + for docBase. In the case where there's a relative path (backward compat) we need to do a bit more work.

Mind you this came from a cursory first look.


I've started work on handling this, and I think Kin is working on documenting the various cases to handle with the base tag but I thought I would get my own notes down here so we can compare. To start, handling the dynamic base tag:

base tags need to be set in 3 cases

  1. initial load - where there is no value available from an anchor or form action to tell us what the base href value should be
  2. loading a page from a page relative url - the relative path must be stripped of trailing file information and applied to the current host and pathname
  3. loading a page from a host relative url - the path must be stripped of trailing file information and applied to the current host.
jblas commented Apr 25, 2011

I started documenting the use cases we need to handle here:

@scottjehl scottjehl pushed a commit that closed this issue May 6, 2011
scottjehl This change sets the base tag properly on page load and page changes,…
… corresponding with the recent change to absolute path hash urls. Images and other assets will direct relative to the document in which they reside. This may not cover new path situations Kin has documented, but it does fix the regression so things work as they did before the change. Tested in non-base supporting browsers to verify it works there too. The following page should have an image in the content, verifying the fix . Fixes #1508
@scottjehl scottjehl closed this in 4b4ee54 May 6, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment