我有一个网页,我也添加了JQuery UI标签。 HTML代码由第三方生成,我无法控制,但它主要是JQuery期望的。在我的机器上查看页面时,它正常工作,但客户端机器在顶部呈现选项卡,但所有选项卡内容在第一个选项卡下一个接一个地列出。所以它找到了标签但不是内容Div。我在chrome中试过它,标签工作正常。
工作:IE 8.0.6001.19393打破:IE 8.0.7601.17514
这两个影响浏览器内容标签的浏览器版本有何不同?升级浏览器不是一个选项,因为它是在公司级别设置的。
更新: 如前所述,我不得不对set html进行操作,这需要在可以呈现选项卡之前进行一些调整。主要是标签链接上的href开始不正确指向隐藏的锚点,即href =“#profile1”,它们应该是href =“#profile_1”。
我在调用标签之前使用此代码重置网址:
var i = 1;
$('#ProfileTOC ul li a').each(function () {
$('#profile' + i).remove();
$(this).attr('href', '#profile_' + i);
i++;
});
现在查看Jquery代码,到目前为止我发现的唯一区别是创建选项卡时它调用“islocal”,它在工作浏览器上返回true,在损坏的浏览器上返回false。原因是JQuery使用完整的http:// * urls作为工作选项卡锚点,而损坏的浏览器只使用#anchor url完全缺少http://。这使“islocal”返回false;我认为它的地图功能似乎做了不同的事情:
this.anchors = this.tabs.map(function() {
return $( "a", this )[ 0 ];
})
.addClass( "ui-tabs-anchor" )
.attr({
role: "presentation",
tabIndex: -1
});
此后一个浏览器拥有每个锚点的完整URL,而另一个浏览器具有相对的锚点。如果我删除了URL更改代码,则URL会再次成为完整路径,但显然仍然不正确。
我已经破解了JQuery UI代码以删除islocal检查并且标签工作但我想知道为什么并且可能在不破解jQuery UI代码的情况下使其工作。
答案 0 :(得分:0)
我已经破解了JQuery UI代码以删除islocal检查。