Отладка JavaScript в IE7


160

Мне нужно отладить JavaScript в Internet Explorer 7.

К сожалению, его отладчик по умолчанию не дает мне много информации. Он сообщает мне страницу, на которой обнаружена ошибка (не конкретный скрипт), и дает мне номер строки. Я не знаю, связано ли это с моей проблемой.

Было бы неплохо, если бы можно было сузить ошибку до номера строки в конкретном скрипте (например, в Firebug).

Есть ли дополнение для отладки JavaScript в IE7, как Firebug в Firefox?

Спасибо!

Смотрите также:

Есть ли в IE7 «режим разработчика» или плагин, такой как Firefox / Chrome / Safari?

Ответы:


90

Помощник по веб-разработке очень хорош.

IE Dev Toolbar часто бывает полезно, но , к сожалению , не делает отладку сценариев


4
Возможно, стоит отметить, что вы должны отключить «отключить отладку» в дополнительных опциях.
Дэн Розенстарк

24
Я не вижу никаких вариантов отладки скриптов на панели инструментов IE Dev, и последняя версия Помощника по веб-разработке не работает, даже после изменения расширенных настроек и перезапуска IE7.
stevebot

9
Приведенная выше ссылка «Помощник по веб-разработке» больше не существует. Кто-нибудь может подтвердить, что это тот же инструмент, размещенный здесь? softpedia.com/get/Tweak/Browser-Tweak/…
RMorrisey

3
О, ирония; Ссылка для скачивания софтпедии для Web Dev Helper умирает в IE7! (Страшная ошибка «Операция прервана».)
Шон Макмиллан

1
Я думаю, что ссылка ведет к вредоносным программам.
дерево

41

Суровая правда в том, что единственным хорошим отладчиком для IE является Visual Studio.

Если у вас нет денег для реальной сделки, загрузите бесплатную версию Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition . В то время как первый позволяет подключить отладчик к уже запущенному IE, второй - нет (по крайней мере, предыдущие версии, которые я использовал, не позволяли этого). Если это все еще так, задача состоит в том, чтобы создать простой проект с одной пустой веб-страницей, «запустить» его (он запускает браузер), теперь перейдите на любую страницу, которую вы хотите отладить, и начните отладку.

Microsoft раздает полную Visual Studio на различные мероприятия, обычно с лицензионными ограничениями, но они позволяют возиться дома. Проверьте их расписание и список халявы.

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


2
пошаговые инструкции см. в ответе @ mitjak
rymo

4
VS не единственный хороший отладчик для IE, хотя я согласен, что не так много хороших. Это единственный отладчик JavaScript для IE, который я использовал годами, хотя он и не бесплатный: javascript-debugger.com

Ссылка на VS 2008 больше не существует. Теперь он идет на страницу для VS 2012.
Шон Макмиллан

Существует VS 2012 Express Edition, которая все еще бесплатна (старая ссылка фактически указывает на это).
Евгений Лазуткин

1
VS2012 Express требует Windows 7. Если вы пытаетесь отлаживать IE7, это не полезно. Что вам нужно, так это VS2010 Web Express: microsoft.com/web/gallery/…
Майк Пост

32

Возможно, вы захотите попробовать отладчик сценариев Microsoft, он довольно старый, но он весьма полезен в том смысле, что если вы натолкнетесь на какую-либо ошибку javascript, появится отладчик, чтобы показать, какая строка испортилась. иногда это может раздражать, когда вы занимаетесь серфингом, но вы можете выключить его.

Вот хороший стартап о том, как использовать этот инструмент тоже. КАК: Отладка JavaScript в Internet Explorer


Ссылка на Howto не работает. Вот обновленная ссылка: jonathanboutelle.com/2006/01/16/…
Дана

Отличный путь отладки с низким коэффициентом трения, без необходимости установки стороннего программного обеспечения.
Джон Хэдли,

27

Я нашел DebugBar .

Не так хорошо, как Firebug, но близко.


3
тем не менее, это намного лучше, чем у панели инструментов dev
Sam Saffron

2
Я не знаю, почему это не принятый ответ. Гораздо лучше, чем любой другой отладчик для IE.
Tres

1
На самом деле я нашел бесплатную " Компаньон JS ", упомянутую на их сайте, чтобы работать лучше всего. Он точно сообщает, на каком JS-файле и номере строки произошла ошибка.
Тайлер

25

В IE7 вы можете вызвать firebug lite для текущей страницы, вставив в адресную строку следующее:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

Смотрите http://getfirebug.com/lite.html .


6
Firebug lite не делает Javascript
Casebash

Я остановился на FireBug lite с его консолью для отладки
Евгений Глухоторенко

У него есть консоль, которая запускает JavaScript, что я и искал.
Алекс W

Действительно полезно проверять элементы в IE 7. Спасибо! :)
Лениэль Маккаферри

7

Microsoft Script Editor - это действительно вариант, и один из тех, которые я пробовал, является одним из наиболее стабильных - отладчик в IE8 великолепен, но по какой-то причине всякий раз, когда я запускаю Developer Tools, требуется IE8 некоторое время, иногда до минуту, чтобы проверить дерево DOM моей страницы. И после этого, кажется, хочется делать это на каждом обновлении страницы, что является пыткой.

Вы можете проверить содержимое переменных в редакторе Microsoft Script: если вы поковыряетесь в Debug> Window, вы можете включить проверку локальной переменной, просмотр и т. Д.

Другой вариант, Visual Web Dev, хотя и громоздкий, работает достаточно хорошо. Чтобы настроить это, сделайте это (украдено отсюда ):

  1. Отладка должна быть включена в IE. Перейдите в Инструменты> Свойства обозревателя> Дополнительно и убедитесь, что флажок Отключить отладку сценариев (Internet Explorer) не установлен, а флажок Отображать уведомление о каждой ошибке сценария отмечен
  2. Создайте новый пустой веб-проект внутри VWD
  3. Щелкните правой кнопкой мыши по сайту в обозревателе решений в правом верхнем углу, перейдите в Обзор с и убедитесь, что в браузере по умолчанию установлен IE (разумно предположить, что если вы веб-разработчик, то IE не является браузером по умолчанию, в этом случае это не будет по умолчанию .. по умолчанию)
  4. Нажмите F5, IE откроется. Перейдите на страницу, которую вы хотите отладить.
  5. VWD теперь будет открываться каждый раз, когда у вас возникает ошибка сценария или если вы устанавливаете точку останова в одном из файлов JS. Отладка прочь!

ОБНОВЛЕНИЕ : Между прочим, если вы испытываете те же замедления, что и я, в случае с приличным отладчиком IE8, есть обходной путь - если вы сталкиваетесь с IE или сталкиваетесь с ошибкой, при которой появляется диалоговое окно «Хотите отладить» и нажмите Да, отладчик сразу появится. Кажется, что если вы переходите «прямо» в режим отладки, Dev Tools никогда не проверяют DOM. Только когда вы нажмете F12, это произойдет.


Я должен был бы проверить это еще немного, но пока кажется, что отладчик IE8 работает быстрее при просмотре в режиме совместимости. Пойди разберись!
dmkc

1
Если вы используете Express (бесплатную) версию VWD, убедитесь, что вы закрыли ВСЕ окна IE до шага 4 - VWD должен запускать IE заново, чтобы он «владел» им.
'11

3

IE8 имеет значительно улучшенные инструменты для разработчиков. До этого лучше сначала написать javascript для firefox, а затем отлаживать IE с помощью операторов alert ().


Не могу дождаться IE8 (пока он оправдывает шумиху - я еще не загружал бета-версию)
alex

Теперь, когда это вышло, я обновился, и я должен сказать, что мне нравится отладчик даже лучше, чем у firebug :)
Джоэл Коухорн

@Joel, хотя отладчик великолепен - одна вещь, которая меня раздражает (что есть у Firebug), это контекстное меню, вызываемое правой кнопкой мыши, где вы можете выбрать «проверить элемент». Насколько мне известно, в IE8 вы должны запустить инструменты разработчика, затем щелкнуть стрелку и найти элемент, который хотите проверить.
Алекс

3

Microsoft Script Editor может быть использован для отладки Javascript в IE. Он менее глючный, чем Microsoft Script Debugger, но имеет те же основные функции, которые, к сожалению, в значительной степени ограничены пошаговым выполнением. Кажется, я не могу проверять переменные или другие подобные вещи. Кроме того, он поставляется только с Office XP / 2003 по какой-то странной причине. Больше информации здесь, если вы игра.

Я скачал Visual Web Developer 2008 Express Edition, упомянутый Евгением Лазуткиным, но у меня еще не было возможности попробовать его. Я бы рекомендовал попробовать это перед Script Editor / Debugger.


3

Это не полный отладчик, но мои расширения DP_DEBUG предоставляют некоторые (я думаю) полезные функции, и они работают в IE, Firefox и Opera (9+).

Вы можете «сбрасывать» визуальные представления сложных объектов JavaScript (даже системных объектов), выполнять упрощенную регистрацию и синхронизацию. Компонент предоставляет простые методы для включения или отключения, чтобы вы могли оставить отладчик на месте для производственной работы, если хотите.

DP_Debug


2

Инструменты разработчика IE9 работали для меня. Просто установите пункт меню «Режим браузера» в IE7.


7
Это полезно, но эмулируемый IE7 не совсем то же самое.
Алекс

Я думаю, это зависит Если я смогу воспроизвести проблему в эмулированном режиме IE9, я исправлю ее там. В противном случае Firebug Lite является хорошим решением - хотя вам нужно где-то установить IE7.
Питер Ценг

1

Эй, я столкнулся с той же проблемой и нашел это приложение IETESTER . Это довольно круто, это приложение, которое имеет IE 5.5,6 и 7 в комплекте. Неважно, какая у вас версия IE. Это позволяет вам иметь несколько версий рядом.

Если вы включили отладку javascript в опциях IE и установили Visual Studio, вы даже можете отладить javascript в VS со всеми доступными вам опциями отладки (наблюдения, условные точки останова и т. Д.)

Если вы хотите начать отладку до появления ошибки, просто вставьте строку

debugger;

в ваш код JS, и это приведет вас в VS, чтобы начать отладку после этого утверждения.

Это абсолютно удивительно для меня для тестирования обратной совместимости для кода JS.


0

Используйте Internet Explorer 8. Затем попробуйте инструмент разработчика. Вы можете отлаживать на основе IE 7 также в режиме совместимости


17
IE7! = Режим сравнения IE8. Есть несовместимости.
Торн

1
+1 По крайней мере, IE8 сообщает вам имя файла скрипта, который вызывает ошибку.
полковник Спонс

@ Торн, но есть режим IE7. (Может раньше не было?) Итак: обычный, режим совместимости, режим IE7.
Ноябрь

1
@ ANeves это просто разные имена для одного и того же
терновый

4
@ ANeves Похоже, что «режим IE7» - это просто «режим совместимости» с пользовательским агентом, измененным на тот, который используется IE7. Но я хочу еще раз подчеркнуть, что режим совместимости несовместим. Например, переустановка свойства стиля с помощью JQuery выглядит в IE7 (и других браузерах): $my.css('z-index', null). В IE8 этот код выдает ошибку, даже в так называемом режиме совместимости. Поэтому мне пришлось написать такой код:$my.css('z-index', ie8 ? 'auto' : null)
thorn̈


0

Ответ прост.

  1. Получить Internet Explorer 9
  2. Нажмите F12, чтобы загрузить Инструменты разработчика
  3. Переключить режим браузера на IE7

переключение режима браузера на IE9


6
Потому что это ненадежно :( Все открытые заявки в моем текущем проекте, подключенном к IE7, не воспроизводятся в Vista из Windows 7
AlfeG

4
Может быть полезным, если ошибка воспроизводима. Но есть некоторые ошибки, которые возникают не в IE9 с IE7-режимом, а в оригинальном IE7 (то же самое для IE8)
yunzen

0

Запуск вашего кода с помощью инструмента статического анализа Javascript, такого как JSLint, может выявить некоторые распространенные ошибки IE7, такие как конечные запятые в определениях объектов.



0

Если вам все еще нужно отладить IE 7, режим эмуляции IE 11 работает довольно хорошо.

Зайдите в меню: Dev Tools, затем к эмуляции и установите его. Это также дает информацию об ошибке линии.


-1

Следующие инструменты прекрасно работают для меня:

1) http://www.debugbar.com/

Предоставить удобный пользовательский интерфейс с такими функциями, как источник, стиль, DOM, сценарий, проверка HTML. Он также показывает фактическую ошибку в вашем файле JS (какая строка, какой файл).

2) http://www.my-debugbar.com/wiki/CompanionJS/Install

Обеспечьте консоль для IE6 или IE7 (который первоначально не поддерживает)

  • Скриншот

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.