0

我有一个网页,我也添加了 JQuery UI 选项卡。HTML 代码是由我无法控制的第三方生成的,但它主要是 JQuery 所期望的。当在我的机器上查看页面时,它可以正常工作,但是客户端机器会沿顶部呈现选项卡,但所有选项卡内容都在第一个选项卡下一个接一个地列出。所以它正在查找选项卡而不是内容 Div。我已经在 chrome 中尝试过,标签可以正常工作。

工作:IE 8.0.6001.19393 中断:IE 8.0.7601.17514

这两个会影响浏览器内容选项卡的浏览器版本有什么不同?升级浏览器不是一种选择,因为它是在公司级别设置的。

更新:如前所述,我必须对 set html 进行处理,这需要一些调整才能呈现选项卡。主要是标签链接开始不正确的 href 指向隐藏的锚点,即当它们应该是 href="#profile_1" 时 href="#profile1"。

我使用此代码在调用选项卡之前重置 url:

    var i = 1;
    $('#ProfileTOC ul li a').each(function () {
        $('#profile' + i).remove();
        $(this).attr('href', '#profile_' + i);
        i++;
    });

现在查看 Jquery 代码,到目前为止我发现的唯一区别是创建选项卡时它调用“islocal”,它在工作浏览器上返回 true,在损坏的浏览器上返回 false。JQuery 的原因是为工作选项卡锚使用完整的 http://* url,而损坏的浏览器仅使用完全缺少 http:// 的 #anchor url。这使得“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 代码的情况下让它工作。

4

1 回答 1

0

我已经破解了 JQuery UI 代码以删除 islocal 检查。

于 2013-03-21T15:37:37.967 回答