As the title says, <base> can be anywhere, not just in <head>: http://html5.org/tools/web-apps-tracker?from=5710&to=5711
It’s not conforming but it still happens, and the HTML spec now describes how UAs should handle it.
I noticed this might cause issues with some of the code in has.js.
I think you are getting ahead of current implementations.
I believe this is just standardizing what most browsers already support. The page I linked to mentions this is implemented in Firefox, IE, Opera and Safari. Here’s a quick test case: http://mathiasbynens.be/demo/base
IE7, IE8, IE9 and IE10pp1 seem to ignore the <base> entirely.
In Firefox, both images resolve to http://mathiasbynens.be/demo/base/test.png, i.e. the image with the “2” in it.
IE6 and most other browsers apply the <base> correctly, that is, only for references following the <base> in the source (not for the entire document).
Ya I left both images out of my dropbox so u could see when it was and wasn't working. Haven' tested IE9 yet.