jQuery не работает только в IE7 и IE9

#javascript #jquery #cross-browser #internet-explorer-9 #internet-explorer-7

#javascript #jquery #кроссбраузерный #internet-explorer-9 #internet-explorer-7

Вопрос:

По какой-то причине на этой действительно простой странице jQuery не будет работать в IE7 или IE9, но он работает в IE8 и всех других современных браузерах. Есть идеи, почему это может быть так?

 $(document).ready(function() {

$(".thumb").fancybox();

$("a.group").fancybox({
    'transitionIn'  :   'elastic',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   200, 
    'overlayShow'   :   false
});

$('.note').live('click', function() {
    $(this).parents('.result').next('.notes').slideToggle();
});

});
  

Непонятно. Любая помощь была бы высоко оценена! Кстати, если вы хотите ознакомиться со всей сделкой, вы можете посмотреть ее наhttp://moveout .dancormier.com
Заранее спасибо.

Комментарии:

1. У меня нет IE, так что можете ли вы сказать use, что не так? Как это сломано? Какие ошибки вы получаете?

2. Я только что попробовал это в IE7, и, похоже, это сработало? Конечно, переключение заметок работало как чемпион, и даже вызовы fancybox работали. Что конкретно сломано?

3. Javascript был полностью сломан. предложение @SteveWellens исправило это. Спасибо всем за помощь!

Ответ №1:

Попробуйте более новую или более старую версию jQuery.

Комментарии:

1. Удивительно, но, похоже, это было проблемой. Где-то в процессе проблема с IE7 исчезла, но проблема с IE9 сохранялась. Когда я изменил jquery с 1.5.0 на 1.5.2, проблема с IE9 исчезла. Кстати: Для тех из вас, кто спрашивает, javascript в целом был сломан. Ничего не сработало. Но это, казалось, исправило это! Спасибо!

Ответ №2:

Можете ли вы рассказать нам, с какими ошибками вы сталкиваетесь при просмотре в IE? (Перспектива загрузки виртуальной машины Windows и IE для самостоятельного поиска не совсем привлекательна)

Предположение:

Часто IE7 / IE8 кажутся очень придирчивыми к нотации JSON. например, если вы заканчиваете объектный литерал , , он выдает ошибку.

 {foo1: 'bar',
 foo2: 'baz',} // <-- This , seems to be ignored by everything but IE
  

Так что, возможно, вам стоит поиграть с вашим объектным литералом там? Возможно, не заключайте ключи в кавычки и удалите лишний интервал между ключом : и значением.

Общие рекомендации:

Попробуйте использовать панель отладки для устранения неполадок в IE. Это, конечно, не FireBug, но это лучшее, что вы можете получить бесплатно для отладки IE.

Комментарии:

1. IE в порядке с ключами объектов, заключенными в кавычки

2. Я уже сталкивался с проблемой ‘завершающей запятой’ раньше. Мне потребовалось некоторое время, чтобы выяснить, что было не так.

Ответ №3:

Какие именно ошибки вы получаете?

Я не знаю о jQuery и IE как таковых, но некоторое время назад мне пришлось танцевать танго с fancybox в IE 7. Я продолжал получать ошибки макета пользовательского интерфейса, связанные с IFRAME файлами, которые выдавал fancybox.

Если это звучит так, как вы получаете, я опубликовал сообщение в блоге об обходном пути, который я сделал в то время, если вам интересно взглянуть на это.

Комментарии:

1. Спасибо за предложение @richardneililagan. На этот раз проблема была не в Fancybox. Обновление jquery с 1.5.0 до 1.5.2 исправило это.