2009-05-08 13 views
4

JavaScriptを使用してWebページ全体をプリロードして、そのページをユーザーのブラウザにキャッシュする方法を教えてください。ENTIRE Webページをプリロードする方法

私はJSでイメージをプリロードする方法を知っていますが、私がしたいことはページ全体をプリロードすることです。

ユースケース:私のウェブサイトには、他のコンテンツ(画像、CSS、JS)がたくさんあるGoogleマップのページがあり、キャッシュされていないブラウザから読み込むのに長時間(約10秒)かかります。

これは私のホームページのサブページであり、ユーザーは通常このページにアクセスします。だから私がしたいのは、読み込まれたすべてのコンテンツ(画像、JS)をページ全体にできるだけプリロードして、ユーザーのブラウザにキャッシュされるようにすることです。キャッシュされたブラウザからページをロードすると、約10秒から2秒に短縮されます。

ご協力いただきありがとうございます。

+0

このブラウザー機能(一部ではサポートされていません)https://developer.mozilla.org/ja/Link_prefetching_FAQは関連しています。個人的には実装にJSが全くないという利点がありますが、それは正確に質問と一致しません。 – Christian

答えて

8

メインページに不可視または非常に小さい<iframe src="second_page.html">を作成します。

+0

ハッキーと汚れていますが、効果的です。 +1 – Karl

+0

2ページ目のページの読み込みコストも1ページ目に入れますか?私はそれが賢明な解決策だとは思わない。ユーザーは、リンク先ページの読み込みコストが大幅に上昇したため、最初のページに簡単にアクセスできます。 –

+0

@TörökGáboronloadのjavascriptでiframe src属性を設定できます。それは、第2ページが第1ページに干渉しないようにする。 – nus

2

多分、間違った概念があります。派手なものから実際のコンテンツを分離することは、ローディングコストを大幅に削減するのに役立ちます。ドキュメントの読み込み時にすぐに読み込まれるものを遅延させるソリューションを選択できます。 (たとえば、PlayMapsというコンセプトデモがあります。ユーザーがクリックするまで静的なGoogleマップ画像のみを表示し、それ以降はインタラクティブバージョンのみを読み込みます)

CSSとJSファイルは圧縮する必要がありますすべてのコンテンツを静的に配信しようとします。

さらに、ウェブサイトのパフォーマンスをFirebugYSlowと分析して、ボトルネックを得ることができます。

関連する問題