Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2012, 10:24
Новичок на форуме
Отправить личное сообщение для Surik Посмотреть профиль Найти все сообщения от Surik
 
Регистрация: 14.05.2012
Сообщений: 5

Не работает $("#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(); - то он срабатывает.

Помогите, пожалуйста, разобраться. Может быть у кого-то была подобная проблема.
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2012, 12:39
Новичок на форуме
Отправить личное сообщение для Surik Посмотреть профиль Найти все сообщения от Surik
 
Регистрация: 14.05.2012
Сообщений: 5

Сейчас попытался заменить функцию 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

Даже не знаю, что еще можно проверить. У кого-нибудь есть идеи? Любые...

Последний раз редактировалось Surik, 14.05.2012 в 12:45.
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2012, 12:57
Новичок на форуме
Отправить личное сообщение для Surik Посмотреть профиль Найти все сообщения от Surik
 
Регистрация: 14.05.2012
Сообщений: 5

Заменил скрипт ajax_news.php, который формирует блок новостей на простейшее:
<? echo "Новости"; ?>

Результат тот же: в файрфоксе работает, в ИЕ - нет. При этом совершенно никаких ошибок. Бред какой-то
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2012, 13:57
Новичок на форуме
Отправить личное сообщение для Surik Посмотреть профиль Найти все сообщения от Surik
 
Регистрация: 14.05.2012
Сообщений: 5

Вощем, все оказалось просто до банальности - в коде, который подгружался с помощью функции load() был лишний закрывающий </div>. Этого оказалось достаточно, чтобы все тупо переставало работать в ИЕ8. Так что если у кого-то похожая история, тщательно проверяйте структуру html
Наконец-то блин!
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2012, 14:00
Новичок на форуме
Отправить личное сообщение для Surik Посмотреть профиль Найти все сообщения от Surik
 
Регистрация: 14.05.2012
Сообщений: 5

Проблема еще усугубилась тем, что этот недобраузер постоянно норовит чо-нибудь закешировать! Если бы не эта его странная особенность, я бы давным давно нашел причину. Ведь даже когда я полностью менял скрипт вывода новостей на строчку
<? echo "Новости"; ?>

- уже тогда все должно было начать работать. Но так как браузер слишком умный, то он не прореагировал на это изменение, что послужило причиной траты еще нескольких часов моей жизни на поиск глюка
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Не работает в ИЕ8 Serg_pnz jQuery 2 25.08.2011 10:11
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59