このページのiframeに動画を表示するためにFancyboxv.1.3.4を使用しています。Fancyboxとビデオは正常に表示されますが、問題は、コードを追加してから、この問題と同様に、IE7 / 8でサイトを読み込むときに大きな一時停止が発生することです。ページが読み込まれ、UIがフリーズします。 4〜5秒間、リンクをクリックしたり、スクロールしたりするのを防ぎます。これが私がページの上部のにリンクしたもの<head>
です。jQuery UIパック(UI 1.8.11、UIウィジェット、UIマウス、UI位置、およびスケール付きUIエフェクトを含む)は、主に、サイトにまだロードされていないがロードされる他のエフェクトを有効にするために含まれています。
<script type="text/javascript" src="/lib/jquery/jquery-latest.min.js"></script>
<script type="text/javascript" src="/lib/jquery/jquery-ui.custom.min.js"></script>
<script type="text/javascript" src="/lib/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" href="/lib/fancybox/jquery.fancybox-1.3.4.css" />
ページでYSlowを使用しました。これは、スクリプト呼び出しを一番下に移動することを提案しましたが、IEの一時停止は修正されませんでした。次に、IE8の開発者ツールを使用してロード中にHTML DOMを確認しましたが、Fancyboxのコードがロードされているときに一時停止が発生しているようです。一時停止の直後に、次のdivがツリーの下部に表示されます。
<div id="fancybox-tmp"/>
<div id="fancybox-loading" (jQuery attribute here)>
...
</div>
<div id="fancybox-overlay"/>
<div class="fancybox-ie" id="fancybox-wrap">
...
</div>
それは、fancyboxをページに追加した後に問題が発生したという事実とともに、それがFancyboxのパフォーマンスの問題であると考えた理由ですが、これまでに試したことはありません(fancyboxコードを削除する以外)影響がありました。私が試した最新のことは、jQuery.ready()への参照を削除することです。これにより、fancyboxコードを以前にロードして一時停止のタイミングを変更できた可能性がありますが、あまり効果がありませんでした。本当に期待していたわけではありませんが、jQueryとFancyboxには少し慣れていないので、この時点でストローを把握しています。
私が今考えているのは、Fancyboxと、Google Analyticsなど、ページ上の他のスクリプトの1つとの競合である可能性があるということですが、それが当てはまるかどうか、またはその場合の対処方法が正確にはわかりません。それが最終的にはそれです。これらのスクリプトの使い方を知っている人からのアイデアはありますか?前もって感謝します。