IE8 (режим совместимости) не загружает мой контент Ajax
-
05-10-2019 - |
Вопрос
Я работаю над сценарием jQuery над http://www.qxl.dk/ и я не могу заставить IE7 (или, точнее, IE8 в режиме совместимости с IE7) загрузить мой контент.
Поле боковой панели справа под названием «QXL Aktuelt» загружает HTML-содержимое из внешнего файла с помощью Ajax. 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, я нашел 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 с этим.