0

このSE投稿を読んだところ、尋ねられた質問が私が求めているものと似ていることが説明されています。Yslow は、可能であれば、すべての外部 JavaScript を組み合わせることをお勧めします。一部のWebサイトで見つけた推奨事項に従って、実際に内部javascriptを取得して外部.jsファイルにし、/scriptsフォルダーに配置しました。しかし、これは私の2つの(同様の)質問につながります。個別の投稿は必要ないと思いました。

(1) - JavaScript コードをどのように組み合わせますか? 空白行を残してから、他の JavaScript を次々とコピーして貼り付け、すべてが 1 つのファイルになるまで続けますか?

(2) - 5 つのマスター ページを持つ asp.net Web サイトがあります。5 つのうち 4 つには 6 つの JavaScript ファイルがあります (すべて縮小され、一部は機能する圧縮ツールを使用して独自に作成されています)。しかし、SE の投稿とオンラインで、ページの読み込み後にスクリプトを読み込む必要があることを読みました。asp.net Web サイトでこれを行うにはどうすればよいですか? すべての .js ファイルは

@bluesmoon は素晴らしい、完全な答えを出しましたが、私はそれを理解することができませんでした:

To load a script after page load, do something like this:

// This function should be attached to your onload handler
// it assumes a variable named script_url exists.  You could easily
// extend it to use an array of scripts or figure it out some other
// way (see note late)
function lazy_load() {
    setTimeout(function() {
            var s = document.createElement("script");
            s.src=script_url;
            document.body.appendChild(s);
        }, 50);
}

This is called from onload, and sets a timeout for 50ms later at which point it will 
add a new script node to the document's body. The script will start downloading after 
that. Now since javascript is single threaded, the timeout will only fire after onload 
has completed even if onload takes more than 50ms to complete.

彼が何を言っているのか、それをどのように実装するのか、私にはよくわかりません。これですべてです... javascriptを組み合わせて、ページの読み込み後にそれら(またはそれ)を読み込む際に助けが必要です。マスター ページまたは .aspx ページに "onload" と書かれているものはありません。誰かが私に提供できる助けや指導に感謝します!

4

1 に答える 1

1

Cassetteを見て、終了 body タグの直前にバンドルをレンダリングします

于 2012-11-02T06:47:22.403 に答える