For the time being, I have put the following in place and it is working now. Due to changing of the random value, IE 9 now hits the action as well. I am still looking for a better solution and will update as soon as i have found one.
TabsAjaxCall: function (tabToDisplay, isAppendJsRandom) {
//$("ul.tabs").tabs("div.panes > div", { effect: 'ajax' });
$("ul.tabs").tabs("div.panes > div", { effect: 'ajax', cache: false, ajaxOptions: { cache: false }, history: true,
onBeforeClick: function (event, tabIndex) {
var $tabProgress = $("#tabProgress");
var $currentTab = $("ul.tabs").children('li').eq(tabIndex).children("a");
//IE 9 fix
JSGlobalVars.TabsHrefWithJsRandom($currentTab, isAppendJsRandom);
jLoaderShow($currentTab);
var tabPanes = this.getPanes();
},
onClick: function (event, tabIndex) {
jLoaderHide();
//to display specific tab on load
if (tabToDisplay != "" && typeof tabToDisplay != "undefined") {
JSGlobalVars.TabOnLoadIndexPerPassedValue(tabToDisplay);
//remove tab, we only need it during load and not on subsequest loads
tabToDisplay = "";
}
var tabPanes = this.getPanes();
}
});
},
TabsHrefWithJsRandom: function ($currentTab, isAppendJsRandom) {
//ie 9 issue fix
if (isAppendJsRandom == "" || typeof isAppendJsRandom == "undefined" || isAppendJsRandom == "undefined" || isAppendJsRandom == null)
isAppendJsRandom = false;
if (isAppendJsRandom) {
var href = $currentTab.attr("href");
var radomVerb = "random";
if (href != '' && href != '#') {
var indexRandom = href.indexOf(radomVerb);
if (indexRandom > 0) {
//remove random
href = href.substring(0, indexRandom);
//remove last index of & and ?
var nAnd = href.charAt(indexRandom - 1);
if (nAnd == "&" || nAnd == "?") {
href = href.substring(0, href.length - 1);
}
}
//get and append random to href
var random = Math.random();
if (href.lastIndexOf("?") != -1)
href += '&'+ radomVerb + '=' + random;
else
href += '?'+ radomVerb + '=' + random;
$currentTab.attr("href", href);
}
}
},