私はphototshop(ローディングホイール)で作成したgifを持っていますが、それを使用する方法(cssで非表示にしてから表示し、後でjavascriptで上書きする)は、最初は遅すぎます。最初は一生懸命スキップします。そのため、呼び出す前に画像をキャッシュすることにしました。だからこれは私がそれをした方法です:
function preloadImages(array) {
for (var i = 0; i < array.length; i++) {
var img = new Image();
img.src = array[i];
preloadImages.list.push(img);
}
}
var imageURLs = [
"loading.gif"
];
私が間違っていなければ、どちらがうまくいくはずです。しかし、念のために私も試しました:
loading = new Image(60,60)
loading.src = "images/loading.gif"
チュートリアルから抜粋しました。これを実装し(現在は最初のもの)、後で通常どおりにイメージを呼び出すと、実行速度が速くなり、キャッシュに表示されます。しかし、私は懐疑的であるため、HTMLで使用することのない画像を挿入し、キャッシュされるかどうかを確認しますが、呼び出さないことにしました。これが私の新しいJSです。
function preloadImages(array) {
for (var i = 0; i < array.length; i++) {
var img = new Image();
img.src = array[i];
preloadImages.list.push(img);
}
}
var imageURLs = [
"loading.gif",
"today.gif"
];
Nowに追加したことに注意してtoday.gif
ください。キャッシュの理解が正しければ、この画像は「生の」HTMLで正しく呼び出されなくても、キャッシュされるはずです。そうではありません。これは、読み込み中のgifがキャッシュされたのか、それとも私のブラウザが少しだけ協力することにしたのか、疑問に思います。何か案は?2番目のjavascriptスニペットを使用したフレッシュクリア後のリロード時のキャッシュは次のようになります。
したがって、ここでの質問は次のとおりです。キャッシュが機能していないと言っていても、機能していますか?私は物事を想像していますか?私はこれを正しく行っていますか/ローカルキャッシュの理解は正しいですか?そうでない場合、誰かが私にどこが間違っているのか説明できますか?乾杯。