ページのJavaScript初期化を少しオフロードする簡単な方法
おそらく、誰かがこの考えが役立つと思うでしょう。
大規模な複数ページのサイトがあります。 さまざまなページに、美しいギャラリー、ajaxリーフレットなど、複雑なjavascriptのさまざまなものがあります。 これはすべて、jQuery / Prototype / Mootools /などに基づいて展開されます。それぞれについて、一連の関数、IDやクラスの複雑なセレクターなどが呼び出されます。 など
そして、生産性を重視する開発者として、これらのスクリプトをすべて1つのJSファイルに慎重に入れてパックします。
しかし、厄介な点があります。各ページを開くと、スクリプトはDOMを使用し、上記の「すべて」に関係するすべてのノードを見つけて選択しようとします。 つまり スクリプトに
$('.myclass')
、
getElementById
などのように何個のセレクターがあるかなど、DOMをロードした後何回も、これらの要素の検索でスキャンされます。
そして、1.5千行のスクリプトとそのようなセレクターがある場合、「9000を超える」でしょうか? これにより、ページの読み込みが遅くなります。 もちろん、損失はそれほど気にするほど大きくありませんが、非常に簡単かつ簡単に取り除くことができます:これらのアプリケーションの存在をチェックする際に、JSアプリケーションの動作を記述する機能セットをまとめます。
つまり、ページにアプリケーションがある場合、そのアプリケーションは
<div id="my_app">...</div>
ます。
このような構造でこのアプリケーションの動作を記述するすべての機能をラップします。
if(document.getElementById( 'my_app')){
//ここにコーディング
}
また、
id="my_app"
ページにノードがない場合、パーサーはパスし、アプリケーションに関して呼び出されたすべてをページ上で見つけようとしません。
些細なことだが、いい
All Articles