同じページの異なるリンクをクリックすると、異なるイメージを表示するWebページがあります。画像は非常に高画質で、読み込みに多くの時間がかかります。画像をダウンロードしてキャッシュに保存してから、リンクのonclick
イベントにロードします。ページに現在表示されていないイメージをブラウザにダウンロードしてキャッシュさせる方法
0
A
答えて
3
すべてを非表示の画像としてロードするだけです。
CSS:
.hidden {
display:none;
}
HTML:
<img src="/hugeImage.jpg" class="hidden" />
<img src="/hugeImage2.jpg" class="hidden" />
<img src="/hugeImage3.jpg" class="hidden" />
<img src="/hugeImage4.jpg" class="hidden" />
あなたは簡単にDOMContentLoadedイベントの後DOMへの画像のそれぞれを追加し、JavaScriptでこれをシミュレートすることができます - 同じ論理が適用されます。
var img = document.createElement('img');
img.setAttribute('src', '/hugeImage.jpg');
img.setAttribute('class','hidden');
document.body.appendChild(img);
2
イメージをプリキャッシュする方法についてはこれまでの回答を参照してください。Is there a way to load images to user's cache asynchronously?
これらがロードされると、ブラウザのキャッシュ(メモリキャッシュまたはディスクキャッシュ)から来るので、クリックして表示するとほとんど瞬時に表示されます。
0
あなたのサイトでユーザーに良い体験を提供してもらいたい(また、「遅い」印象を与えないように)ために、画像を非同期的に読み込むべきですが、現在のページが読み込まれた後でなければなりません現在のページを高速に読み込みたいからです)。
あなたの現在のページが以前と同じ時間に読み込まれ、画像をプリロードすることもできます。ここ
ルック画像に非同期(あなたはjQueryのを使用しない場合は、document.readyまたは類似した何かでそれをラップしてください)ロードする方法を参照するには:
Is there a way to load images to user's cache asynchronously?
関連する問題
- 1. 現在表示されているウェブサイト
- 2. 現在表示されているページに従って、ハイパーリンクボタンのイメージを変更するには
- 3. Visio Webページを公開しているが、キャッシュされたページを表示しているブラウザ
- 4. 現在クロムに表示されていないSVGシンボル
- 5. 現在表示されているページに応じてボタンを隠す
- 6. 現在表示されているフラグメントに応じて、親アクティビティの背景イメージを変更する方法
- 7. 表示されている現在のイメージの正しいvarが必要
- 8. ページがキャッシュされ、古いデータを表示しています
- 9. SVGがSafariに表示されないen現在のCSSのChrome(現在解決されていないソリューション)
- 10. バイト配列のイメージをSQLから現在ルーティングされているASPXページに表示します。
- 11. ページに表示されている表現の回避
- 12. ブラウザにパラメータが表示されていないページに移動する
- 13. ブラウザに200のステータスコードが表示され、キャッシュされていると表示されます
- 14. がcfcacheでキャッシュされたページを表示しています
- 15. MKMapView - 現在表示されている平方マイルを計算する方法
- 16. 要素がブラウザに表示されている間divを表示しない
- 17. 現在表示されていないUITableViewCell行へのアクセス
- 18. 現在のページのリンクが強調表示されていません
- 19. RecyclerViewに現在表示されているアイテム
- 20. イメージをダウンロードし、Firebase Swift 3からキャッシュしてください。
- 21. キャッシュマニフェストを使用して現在の(インデックス)ページをキャッシュしない
- 22. グライドライブラリを使用して既にダウンロードされ、キャッシュされているイメージを取得する
- 23. viewpagerで現在表示されているフラグメントを取得する方法
- 24. 現在表示されているレイアウトを取得する方法
- 25. RNフラットリストで現在表示されているインデックスを取得する方法
- 26. ValidateRequest - 現在のページにエラーを表示して表示する
- 27. 現在ブラウザで開いているページを表示するにはどうすればよいですか?
- 28. Yii2現在表示されている行数を渡す方法
- 29. サイドメニューが表示されているページが正しく表示されない
- 30. IGListKit:現在表示されているセルインデックスを取得する
シンプルで素晴らしいし。もう1つの答えは偉大で有用でした。しかしこれを以前のように受け入れる。両方の答えに感謝 –