1

私が管理しているサイトの 1 つで、奇妙な断続的な表示バグが見られます。Windows7 SP1 を実行し、IE8.0.7601.17514 を使用している特定のマシンで、断続的にのみ発生するようです。Windows7 ie9、ie8、ie7 (ietester でシミュレートされた最後の 2 つ)、IE8 を搭載した WindowsXP、firefox、chrome、safari など、他の構成でバグを繰り返すことはできませんでした。同じページであってもそうでない場合もあります。

問題は、メガ ドロップダウン メニューのコンテンツが一番上に表示され、ランダムな場所に表示されることです ( http:www.brenclosures.com.au/images/aaa-image003.jpgを参照) 。

サイトのヘッダーに、いくつかのアイコンが入った長方形のボックスとして問題が表示されます。これは一貫した位置にあるのではなく、動き回っていることに注意してください。上部、ロゴ、反対側、検索ボックスなどで完全に見たことがあります。選択することはできず、ページを更新しただけでも、かなり頻繁に移動してまったく異なるものが表示されます。

メニューシステムにSpryを使用しています。これは、リンクを含まない広告申込情報に関連する一部のページでエラーを示していますが、一部のページでそれを修正しましたが、まだ問題が発生しています。

また、ほとんどのサイトで jQuery を 1.3 で使用しています。ただし、同様の投稿を確認した後、一部のページで 1.6.4 に更新しましたが、それらはまだ同じ問題を示しています。この問題を見ている人 (残念ながらクライアントである) に、jQuery を完全にオフにしてページをテストし、違いがあるかどうかを確認するように依頼しました。

jQuery fancybox プラグインも実行しています。これには、jquery.easing.1.3 も含まれていると思います。

何が起こっているのかについて何か考えを持っている人はいますか? ハードウェアの問題ではないと思います。仮想マシンで 1 回バグを確認したことがありますが、再現することはできませんでした。

サイトの URL はhttp://www.brenclosures.com.auです。

これは私を完全に困惑させているので、あなたの助けに本当に感謝します!

乾杯サイモン


埋め込みたいのですが、私は新しいユーザーであり、できることが限られています。2 番目の段落の最後に、問題を示す写真へのリンクがあります。悲しいことに、検索ボックスに表示されるグラフィックのスクリーン ショットを取得できませんでした。

また、jquery を最新バージョンにアップグレードしても問題が解決しなかったと聞いたことがありますが、jquery、jquery easing (1.3)、fancybox をオフにすると解決したので、問題は jquery に関連しています。私は今、これらすべてを更新して、何が起こるかを見ようとしています。その際はお知らせします。

ありがとうサイモン


わかりました、何が起こっているのかを把握し始めていると思います。理由はわかりませんが!

これは IE8 にのみ影響し、jQuery がオンになっている場合にのみ影響するようです。fancybox や jQuery Easing の問題ではなく、jQuery 自体の問題のようです。それをオフにすると、問題はなくなります。

このバグは、jQuery が実際に行っていることとは何の関係もないようです。何が起こっているように見えますか (そして、特定の時間に特定のマシンだけが影響を受けるように見える理由は次のとおりです: -

  • スタックの一番上にあるにもかかわらず、背景のグラデーションや png のスウッシュの読み込みが遅れているように見えることがあります。
  • 遅延があっても IE8 は画像の場所を予約しているようです
  • 何もないので、どういうわけかjQueryには、代わりにCSSからランダムな背景画像をロードする効果があります
  • 「実際の」画像が読み込まれると、問題はなくなります。しかし、どういうわけか IE8 では、これらの画像は動かなくなる癖があるようです!

したがって、解決策は背景画像をプリロードすることであると思われますが、IE8 でのみです。今、プリローダーを追加しました。問題が解決することを願っています! 出なかったらまた投稿します!


それもうまくいきませんでした!私はサンクする必要がありました!画像が動かなくなった場合、プリローダーで画像を読み込んでもあまり役に立ちません!

私の最新の計画は: -

  • スプライトを使用して、すべての画像が一度に読み込まれるようにします。これにより、すべてが同時に読み込まれるため、他の部分が表示されなくなります。危険は、何もロードされないことです。

  • キャッシュ制御を使用して、背景画像の TTL を長く設定します。願わくば、一度正常にロードされれば、同じ問題が再び発生することはないということです。問題は、これらのイメージが共有 Windows サーバー上にあるため、キャッシュ制御が htaccess ファイルの微調整ほど簡単ではないことです。代わりにこれらを Linux サーバーに送信できるように、おそらく IE8 用の CSS を変更します。


最新のアップデート。私はあらゆる種類のテクニックを試しましたが、これまでに言えることは、問題が約半日ほど進行したように見えることです. 私が試したことは次のとおりです: -

  • 別の URL から画像を読み込み、ブラウザにキャッシュすることもできます。これは、ヘッダー内の png の読み込みがスタックしたときに特に問題が発生するように見えることがわかった後の試みでした。
  • 私は本当にこれでそれを持っていると思いました!ページの読み込みが終了したときに読み込みを開始する通常のコントロールの代わりに、jQuery を onLoad 関数に変更して、すべてのアセットも読み込まれるまで待機するように jQuery を変更しました。それは約半日働いた!

彼らに IE9 へのアップグレードを依頼する前の最後の作業は、jQuery でメニュー システム全体を書き直し、ページからすべての Spry を削除することです。私は実際にこれに大きな期待を持っていないと言わざるを得ません。とにかくそれを行う必要がありますが、Spry をページから削除しても効果がないように思われます。

4

0 に答える 0