Не работает $("#id").load("http://...") в ИЕ8
Всем доброго дня!
Обращаюсь к знающим людям за помощью, так как сам не особо силен в таких вопросах. Сейчас постараюсь описать проблему максимально подробно. На этом сайте http://podshipnikspb.ru/ реализована подгрузка последних новостей в сайдбар с помощью jQuery. В коде HTML есть контейнер: <div class="module" id="lastnews"></div> Вместе со страницей загружается простенький скриптик news.js: (function($) { $(function() { $("#lastnews").load("http://podshipnikspb.ru/ajax_news.php"); }) })(jQuery) Он подключается в секции HEAD страницы (вместе с библиотекой jQuery): <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script type="text/javascript" src="http://podshipnikspb.ru/news.js"></script> Пробовал подключать библиотеки других версий - не помогло. Пытался принудительно выдавать кодировку utf-8 в заголовках (перед выдачей скрипта news.js и перед самими новостями) - та же история. Сами последние новости генерятся скриптиком http://podshipnikspb.ru/ajax_news.php, который сам по себе прекрасно работает в любом браузере. Проблема в том, что новости в сайдбаре отображаются в ФФ, ИЕ9 (в других браузерах не проверял), а вот в ИЕ8 - ну просто ни в какую. При этом ИЕ никаких ошибок не выдает. Если в news.js после load воткнуть alert(); - то он срабатывает. Помогите, пожалуйста, разобраться. Может быть у кого-то была подобная проблема. |
Сейчас попытался заменить функцию news.js вот такой конструкцией (прямо в теле страницы):
<script type="text/javascript"><!-- $('#lastnews').load('http://podshipnikspb.ru/ajax_news.php', function(response, status, xhr) { if (status == "error") { var msg = "Sorry but there was an error: "; $("#error").html(msg + xhr.status + " " + xhr.statusText); } });//--></script> По-прежнему работает в ФФ, но не работает в ИЕ. При этом никаких ошибок нет. Если попытаться заменить "http://podshipnikspb.ru/ajax_news.php" на что-нибудь, чего нет на сервере, то даже в ИЕ8 выводится ошибка: Sorry but there was an error: 404 Not Found Даже не знаю, что еще можно проверить. У кого-нибудь есть идеи? Любые... |
Заменил скрипт ajax_news.php, который формирует блок новостей на простейшее:
<? echo "Новости"; ?> Результат тот же: в файрфоксе работает, в ИЕ - нет. При этом совершенно никаких ошибок. Бред какой-то |
Вощем, все оказалось просто до банальности - в коде, который подгружался с помощью функции load() был лишний закрывающий </div>. Этого оказалось достаточно, чтобы все тупо переставало работать в ИЕ8. Так что если у кого-то похожая история, тщательно проверяйте структуру html
Наконец-то блин! :) |
Проблема еще усугубилась тем, что этот недобраузер постоянно норовит чо-нибудь закешировать! Если бы не эта его странная особенность, я бы давным давно нашел причину. Ведь даже когда я полностью менял скрипт вывода новостей на строчку
<? echo "Новости"; ?> - уже тогда все должно было начать работать. Но так как браузер слишком умный, то он не прореагировал на это изменение, что послужило причиной траты еще нескольких часов моей жизни на поиск глюка |
Часовой пояс GMT +3, время: 06:24. |