2

私は、いくつかの JavaScript ファイルを持つ Web プロジェクトを行っています。特に Firefox では、フロントエンドの応答が少し遅くなります。サーバー側に関連する要因は除外されたので、私の JavaScript に関係があるに違いないと結論付けました。
私は現在、console.log() を使用するか、いくつかのコードをあちこちにコメントすることにより、デバッグに firebug を使用しています。
しかし、それは非常に時間がかかることが判明しました!誰かが私を助けるための他の効率的またはより良い方法を持っていますか? 前もって感謝します。

** * ** * **以下は、@Bill さん、ほとんどの時間を占めるコードの一部です。Firebug は「mainTabs」に未定義のエラーを報告しました。しかし、load コールバックで 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 を宣言する必要があります。これは機能するはずです(少なくとも、バックグラウンドで 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 に答える