jQuery UI选项卡,当我切换到第二个选项卡时,js和jQuery文件需要时间加载


jQuery UI Tab, when I switched to second tab the js and jQuery files take time in loading

我使用jQuery版本jQuery -1.8.2.js和jQuery -ui.js v1.9.0。我有一个php页面与index.php。当我打开index.php时,它加载得很好,但是当我切换选项卡时,内容需要时间加载,我从firebug jquery-1.8.2.js中查看了详细信息,花了4.84秒,jquery-ui花了8.32秒,ajax调用花了659ms。似乎jquery在加载时需要足够的时间,我无法找到我在index.php

中有以下代码的原因
$(function() {
        $( "#tabs" ).tabs({
            beforeLoad: function( event, ui ) {
                ui.jqXHR.error(function() {
                    ui.panel.html(
                        "Couldn't load this tab." );
                });
            }
        });
    });
<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Set Up</a></li>
        <li><a href="temp1.php">temp1 </a></li>
        <li><a href="temp2.php">temp 2</a></li>
        <li><a href="temp3.php">temp 3</a></li>
    </ul>
    <div id="tabs-1">
    content here
    </div>
</div>

temp1.php我有一个ajax方法填充数据表

虽然我不完全确定你在问,最后一句话让我相信你不确定为什么你需要下面的JavaScript代码:

$(function() {
        $( "#tabs" ).tabs({
            beforeLoad: function( event, ui ) {
                ui.jqXHR.error(function() {
                    ui.panel.html(
                        "Couldn't load this tab." );
                });
            }
        });
    });

这段代码存在的原因是因为它是一个错误处理程序,用于ID为"tabs"的div中发生的任何事情。如果你去加载一些东西,有一个错误返回,那个处理器会捕捉这个错误并显示"无法加载这个标签"而不是什么都看不到。错误处理程序被放置在beforeLoad上的原因是,当使用制表符在加载期间发生错误时,主要位置错误来自-因此,如果处理程序没有在错误可能发生之前放置-它无法被捕获。

ok,我在这里回答我自己的问题,我注意到我有链接到jquery-ui.css和jquery.js在我所有页面的头部部分,例如temp1.php,temp2.php和temp3.php,这是在ul上定义index.php作为标签的一部分。移除它们后,它工作良好。我相信js和CSS是在每个页面上加载的而TAB页不应该这样因为它是在index。php

上加载的