2011-09-15 9 views
2

通常、メインページのjavascriptは他のページよりも重いです。たとえば、他のページでは使用されていないメインページにjQueryスライドショーを挿入します。インラインアクションのjavacriptファイルのみを含むようにメインページと個別ページを作成する必要はありますか?HTMLページごとに別々のjavascriptファイルを使用していますか?

最初のページで読み込まれたすべてのjavascriptファイルは、ウェブサイトを閲覧するためにキャッシュされ、個々のページを読み込むと、ブラウザはスライドショーのjavascriptを読み込みませんか?

この質問の別の形式は、スライドショーを各ページに配置すると、毎回スライドショーのjavascriptファイルが読み込まれるか、キャッシュから読み込まれます(ビジターのコンピュータに保存されます)。

答えて

1

は、開発ツールが使用されている場合を除き、ほとんどのブラウザでは)(コンテンツをキャッシュしますと言います。

スライドショーのjavascriptのみを1ページに使用する場合は、別のファイルに入れることをおすすめします。これには欠点があります。ほとんどの場合、http要求はファイルをロードするのに最も長い時間がかかります。

たとえば、1MBの1つのjavascriptファイルがあり、ほとんどのページですべてのjavascriptが必要な場合は、それぞれ250kbの4つの小さいファイルを使用する必要があります。あなたのブラウザは4つの別々のリクエストを行う必要があるからです。

これはおそらく数百ミリ秒のパフォーマンス利益の差ですから、メンテナンス性を向上させるために別のファイルで実行することをお勧めします。

+0

わかりました!私は100kbのjQueryについて話しています。おそらく100kbまで他のjQueryプラグインについて話しています。明らかにjQueryはすべてのページにあるはずです。私はすべてのプラグインのための単一のカスタムjsファイルを作ることを考えていました。分割は4つの25キロバイトになります。分割する価値はありますか? – Googlebot

+0

開発中に分割すると、スクリプトが実稼働環境用に準備されているときに、単一のjsファイルが私の意見では最高のものになります。 – jeffreydev

0

ほとんどすべてのブラウザでJavaScriptファイルがキャッシュされるため、サブページ用に異なるバージョンを作成しないでください。

しかし、非常に大きなJSファイルがある場合は、実際に必要なファイルのみを含めることはもちろん妥当です。

0

すべてのファイルは、ファイルへのパスに基づいてブラウザにキャッシュされます。

1ページのjavascriptを含めると、ファイルがキャッシュされ、他のページを閲覧したときに再びダウンロードされることはありません。あなたがそれをしたい場合を除き

、フロリアンの時間など)

0

はい、jsファイルがキャッシュされます(特に指定しない場合)。

しかし、jsファイルを処理する必要があり、必要のない初期化ロジックが含まれている可能性があります。また、外部のjsをロードするすべてのスクリプトタグは、他の "httpスレッド"をブロックします。つまり、イメージ、CSSファイル...はjsファイルがロードされるまでロードを停止します。

私は別のページに異なるスクリプトを使用します。

ご迷惑をおかけしている可能性があります。あなたはあなたのためにいくつかのテストを行い、パフォーマンスの問題があるかどうかを確認する必要があります。そうでない場合は、異なるページに異なるスクリプトを持たないという利便性が優れているかもしれません。

関連する問題