This is related to bug:
http://bugs.jqueryui.com/ticket/7822 which by the looks of it is in "won't bother fixing" state.
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?