2012-03-23 2 views
0

Мой (Drupal) проект (корзина) отлично работает во всех современных браузерах. Исключение составляет IE8 (и IE7). Загружаются jquery.js и весь js-файл, я вижу их в режиме View Source, но запуск застрял внутри: jquery.js.Вопросы, касающиеся Javascript на IE8

New Edit: Мой доктайп действительно что является относительно новым, но у меня есть другие проекты на той же платформе (Drupal), которые работают без ошибок на IE8 с тем же DOCTYPE

Вот мои отпечатки из режима консоли в Developer Tools в IE9:

режиме Браузер: IE8 режим документа: стандарты IE8

SCRIPT5022: Exception thrown and not caught 

    jquery.js?v=1.4.4, line 85 character 139 
    >> typeof jQuery 
    "function" 
    >> typeof $ 
    "undefined" 

Как видно выше, когда в консоли JS в iE8 при вводе: typeof $ объект не определен, а в других браузерах - функция.

Одно из возможных решений, которые, кажется, работает, чтобы установить режим документа в IE9: Это работает в режиме

Браузер: Режим документа IE8: стандарты IE9, но это не имеет никакой логики для меня.

Другие решения мне не удалось:

  1. различные версии jquery.js: 1.4.4, 1.5.2, 1.6, 1.7.1, с или без CDN, с или без https: //
  2. различные доктрины.

Это является дополнением к [http://stackoverflow.com/questions/879137/problem-with-jquery-in-internet-explorer-8][4]

+0

возможно дубликат [Проблема с JQuery в Internet Explorer 8] (http://stackoverflow.com/questions/879137/problem-with-jquery -in-internet-explorer-8) –

+0

Также, почему вы ожидаете, что IE8 узнает о стандартах IE9? Вы имели в виду «content =» IE = EmulateIE7 «вместо этого, как в связанном вопросе? –

+0

:) то почему IE9 позволяет мне выбрать такой вариант? IE7 также работает с malworking, поэтому, если я хорошо понимаю, эмуляция не является решением моей проблемы. – Faraderegele

ответ

0

вероятное объяснение:

$ функция определена в самой консоли в Chrome и Firefox, но это «внутренняя» функция а консоли. Средства отладки IE8 не определяют такую ​​вещь.

Даже на пустой вкладке, где нет jQuery, $ определен в консолях Firebug и WebInspector.

Кроме того, ваш jQuery запускается в режиме noConflict, который очищает глобальную ссылку $.

+0

Вы правы, тип вещей не имеет отношения к моей проблеме. – Faraderegele

0

Это может быть более одного reseaon, но что я думаю, что IE переходит в режим Qurik, потому что тип документа неверен?

Если это не помогает, вы можете попробовать, что:

if(typeof whatever != 'undefined') { ... } 
+0

my doctype - это действительно, который является относительно новым, но у меня есть другие проекты на той же платформе (Drupal), которые работают без ошибок в IE8 с одним и тем же типом doctype. – Faraderegele

Смежные вопросы