4

背景画像を動的に切り替えています。当然、すぐに表示するにはプリロードする必要があります。私はそれらをプリロードしています。画像が読み込まれると、FireBug でフォローできます。背景画像が切り替わると、FireBug で画像が再びダウンロードされるのがわかります。

ここに私の URL があります: http://www.morganpackard.com/siteRoot/

奇妙なことに、ページをリロードすると、すべてが期待どおりに機能します。私が取っている手順は次のとおりです。

1) FireFox キャッシュをクリアする 2) ページをリロードする 画像の読み込みが遅く、明らかにプリロードもキャッシュもされていません。イメージのスワップがあるたびに、イメージが再度ダウンロードされます。3) キャッシュをクリアせずにページを再度リロードします。イメージのロードとスワップは即座に行われ、すべてが期待どおりに機能します。

そのため、FireFox がキャッシュから画像を読み取る前に RELOAD する必要があるようです。これは変です。何か案は?

注: 私の画像は膨大です。もちろん、それらを圧縮しますが、このプリロードを最初にソートしたいと考えています。

4

2 に答える 2

4

私はあなたのコードを読みませんでしたが、プリロードを機能させるには、画像をドキュメント DOM に追加する必要があります。そうしないと、ガベージ コレクションが積極的に行われる可能性があります。

于 2009-12-12T13:21:31.573 に答える
2

HttpFox で確認すると、最初の読み込み後に背景画像をクリックしても、http 要求が表示されません。「更新」を押すと、画像が再読み込みされます。これは正しく、期待どおりだと思います。ただし、ページの更新時にページとそのアセット (画像、css など) をリロードすることは、応答ヘッダーと、ブラウザー/プラグイン ツールで指定されたこれらのオーバーライドの両方に依存することに注意してください。pragma: no-cache とW3C Cache-Control (セクション 14.9)を見てください。

編集: firebug をオンにすると、クリックするとリロードが表示されます。これはおそらく Firebug のアーティファクトです。firebug をオフにすると、リロードが行われなくなります。

于 2009-12-12T13:10:58.947 に答える