2

Web ページを手動で保存 (右クリック + 名前を付けて保存...) せずに、サーバー側の要求の後に Web ページのローカル コピーをクライアント側で保存することは可能ですか?

サーバーからの Web ページのループを表示する複数のクライアントがあります。各ページには、画像や swfs などの異なるメディア ファイルがあります。デフォルトのキャッシュ メカニズムの代わりに、サーバーから Web ページを最初にロードするときに、クライアント側で Web ページのコピーをクライアント側のローカルに保存したいと考えています。そうすれば、ループが Web ページ要求をロードするたびに、クライアントからの要求を減らすことができます。

コンテンツに変更があるたびに、サーバーはクライアント側にページを再度要求し、クライアント側のローカル コピーを上書きするように指示します。

4

1 に答える 1

1

さて、あなたはこのようなことをすることができます:

localStorage['this_page'] = document.querySelector('html').innerHTML;

もちろん、これはlocalStorageをサポートする最新のブラウザでのみ機能します。大量のデータを保存する方法を提供するブラウザAPIは他にありません。クッキーが小さすぎます。代わりにwindow.nameを使用することもできますが、それは他の何よりもハックです。

もちろん、document.querySelectorはdocument.getElementsByTagName('html')[0]に置き換えることができますが、localStorageがどこでもサポートされているため、querySelectorを使用するだけです。

于 2012-10-11T02:47:52.480 に答える