IE8 (互換モード) が Ajax コンテンツをロードしない
-
05-10-2019 - |
質問
私はjQueryスクリプトに取り組んでいます http://www.qxl.dk/ そして、IE7 (より正確には、IE7 互換モードの IE8) でコンテンツを読み込むことができないようです。
「QXL Aktuelt」という名前の右側のサイドバー ボックスは、Ajax を使用して外部ファイルから HTML コンテンツをロードします。 load()
, 、カスタム jQuery イベントをトリガーします ("aktuelt_loaded
") カルーセル スクリプト (スクロールするニュースステッカーのような) を開始します。
同じページ上の他のいくつかのコンテンツ セクションは Ajax を通じて読み込まれ、正常に動作するので、何が問題になっているのか疑問に思っています。Firefox 3.6 および IE8 ではすべてが期待どおりに動作しますが、IE8 の互換モードでは動作しません。
Ajax コンテンツをロードするスクリプトは次のとおりです (ページ上にインライン)。
<div id="qxlaktueltHolder"></div>
<script type="text/javascript">
$("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
$("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
});
</script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/jcarousellite_1.0.1.min.js'></script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js'></script>
イベントに応答する外部スクリプトは次のファイルにあります。
http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js
あらゆるアイデアを大歓迎です。
解決
編集:
コンテンツが読み込まれているようです。CSSの表示に問題があるようです。IE の開発者ツールを使用して、次の URL の href を検索しました。 a
Safariに正しくロードされました
http://www.123hjemmeside.dk/pages/receive.aspx?target=wl&partnerkey=dkqxl:Hobby_aktuelt_1
他のすべてのコンテンツとともにページ上にあることがわかりました。
アップデート:
問題はあなたにあります #newsticker
要素。それとそのすべて li
要素には、高さおよび/または幅のプロパティが設定されています。 0
.
したがって、サイズ変更/表示を担当するコードは何であれ、 #newsticker
そしてその内容が犯人のようです。
これは推測ですが、このスクリプトは qxlaktuelt_liveload.js
この後にロードされます:
<script type="text/javascript">
$("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
$("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
});
</script>
したがって、どれくらいの長さに応じて、 load()
スクリプトはロードされる場合とロードされない場合があります。
試す:
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/jcarousellite_1.0.1.min.js'></script>
<script type='text/javascript' src='http://www.qxl.dk/contents/dk/js/qxlaktuelt_liveload.js'></script>
<script type="text/javascript">
$("#qxlaktueltHolder").load("/contents/dk/modul/qxlaktuelt/qxlaktuelt.htm", function() {
$("#qxlaktueltHolder").trigger("qxlaktuelt_loaded", []);
});
</script>
他のヒント
JavaScriptコードのすべてのコンソールを削除します。何らかの理由で、IEの破損はこれに陥ります。