2012-04-05 12 views
2

私はこの1つのサイトに似ています:http://www.nike.com/jumpman23/aj2012/私は多くの画像をプリロードしています。ブラウザはプリロード中にロックされるべきではないので、setTimeout関数を使用して一度に1つの画像だけを読み込みます。 FF/Chrome/Safari e.t.cですべてうまく動作しますが、IEに問題があります。Internet Explorerプリロード(500以上の画像)

画像が400枚ほど読み込まれてエラー機能に入ることがあり、時には最初の6枚の画像がプリロードされることもあります。これは、問題を説明するのは難しいので、私は、コードの重要な部分は、それをここに入れました:http://sidneywidmer.ch/preloader/

あなたはLoadOrderを変数のようなもののいくつか:)

を無視することができます(最初のコンソールを開くには、SHUREを作ります)

私はIEのために別のインターバルタイムを設定しようとしましたが、1秒間エラーでダウンロードを一時停止しましたが、何も動作しないようです...

誰かがこの問題をどのように解決できるか考えていますか?

更新: いくつかの調査の後、私は間違いなくメモリリークなど何かがあると言うことができます。 IEのRAMの使用量は1.4 GBから3 GB以上になり、画像のロードが停止します。

+0

よく、その多くの画像を読み込むアイデアはまったく普通です...クレイジーです。それはあなたのサーバーを殺すでしょう。代わりにキャンバスアニメーションを使用することを検討してください。 – Joseph

+1

これは高頻度のサイトではないので、サーバーはそれを処理できるはずです –

答えて

0

私は最終的に自分でこの問題を解決することができました...問題は、Internet Explorer(と多分他のブラウザ)が多くのRAMを消費し、画像がプリロードされるDOM。実際のサイズ(10kbなど)は実際問題ではありません。最も重要なのは画像の解像度です。したがって、400 x 200の解像度と20 kbの解像度で1,000画像を簡単にプリロードすることはできますが、1024 x 768の解像度と10 KBのファイルサイズで1000画像をプリロードすることはできません。

私はまさにそのような場合が分かりませんが、誰かがこの動作をより詳細に記述できる可能性があります。

+0

画像の解像度を下げて解決しましたか? – AmazingDreams

0

遅延画像を使用するようにしてください。このプラグインをjQueryに見てくださいhttp://www.appelsiini.net/projects/lazyload

+0

あなたの答えをありがとうが、私はこれが多くの画像を持つ本当に長いWebサイトのためだと思います。私は(プリロードの後に​​:) :)画像がアニメーションをシミュレートするために置き換えられるプロジェクトで作業しています。 –

関連する問題