The fact that 1.9.1 at least doesn't handle the BASE tag properly causes pretty annoying issues for me.
I have the following scenario using Codeigniter framework:
An admin panel in /admin/something/else/, with a button called "add new".
Clicking "add new" loads a page with AJAX in a modal dialog from url /admin/something/add_new
There are two tabs inside the loaded page, their links refererring to divs with ids #tab1 and #tab2
Using just the href="#tab1", jQuery UI since 1.9 decides that the tab is not on the same page and instead proceeds to load the whole frontpage inside the tab
jQuery UI expects that the url is /admin/something/else/ for div tabs on the same page but inside Codeigniter the URL during the AJAX request is obviously /admin/something/add_new so basically I need a way to get the previous page. I can't rely on HTTP_REFERER because IE in its ultimate crappiness reports it wrong. I could manually type the name of the page into the HREF (/admin/something/else#tab1 in my /admin/something/add_new HTML) but this means that I can no longer use this panel easily on any other page.
I think this is a serious issue in how jQuery UI 1.9 handles the tabs. Is there EVER a situation where having the HREF as just #someid should be interpreted as BASE tag url + #someid? If you wanted to load via AJAX from the URL in the base tag, you'd include it in the HREF wouldn't you?
Can somebody either recommend me a good solution to this or get a jQuery UI developer to at least consider altering the behavior so that it works in a way that works consistent with what is in jQ UI documentation, even if BASE tag is defined?
It's because they changed how the Tabs plugin handles detecting whether a tab is local or remote (AJAX loaded) in 1.9. While technically correct, it makes nobody's life easier and is a case of correctness going past ease of use.That said, from what I can gather the W3C documentation just says that by default the BASE tag refers to the current document, but nowhere does it say that it MUST refer to that.
I got fed up with the whole Tabs plugin (which is annoying to theme to begin with) and just wrote my own so I don't have to deal with that.