2

我正在做一个有几个 javascript 文件的 web 项目,发现前端响应有点慢,尤其是在 firefox 上。已经排除了与服务器端相关的因素,所以我得出结论,它一定与我的javascripts有关。
我目前使用 firebug 进行调试,使用 console.log(),或者在这里和那里注释一些代码。
但事实证明这非常耗时!有没有人有其他有效或更好的方法来帮助我?提前致谢。

** * ** * **下面是占用大部分时间的部分代码,@Bill。Firebug 向“mainTabs”报告了一个未定义的错误。但是当我尝试在加载回调中重新声明 mainTabs 时,它保持不变。** * ***

var mainTabs = $("#main-tabs").tabs({
    selected: defaultTab,
    cache: true, //set tabs to cache the content
    load: function(event, ui){
            //want to preload the non-active tabs' content
            console.log("mainTbas: "+mainTabs.html());
            mainTabs.tabs("load", ui.index+1);
    }
});
4

1 回答 1

2

Firebug 有一个脚本分析器,您可以使用它来找出问题所在。它在Console选项卡下,就在All按钮之前。单击Profile按钮,然后刷新您的页面(或执行页面上运行缓慢的任何操作)。再次单击该Profile按钮以获取一个表格,该表格将告诉您哪些功能花费的时间最多。从那里开始尝试和优化。

对于您的示例代码,您需要先声明 mainTabs。这应该可以工作(至少根据我假设您开始使用的背景中的 Preload JQuery UI 选项卡):

var mainTabs;  // declare mainTabs first.
mainTabs = $("#main-tabs").tabs({
                selected: defaultTab,
                cache: true, //set tabs to cache the content
                load: function(event, ui){
                    mainTabs.tabs("load", ui.index+1);
                }
            });
于 2012-07-19T04:53:48.537 回答