Налагодження JavaScript в IE7


160

Мені потрібно налагодити JavaScript в Internet Explorer 7.

На жаль, його налагоджувач за замовчуванням не дає мені багато інформації. Він повідомляє мені на сторінці, що помилка з'явилася (не конкретний сценарій) і дає мені номер рядка. Я не знаю, чи це пов’язано з моєю проблемою.

Було б добре, якби це могло б звузити помилку до номера рядка в певному сценарії (як Firebug може).

Чи є додаток до налагодження JavaScript у IE7, як Firebug робить у Firefox?

Дякую!

Дивитися також:

Чи є IE7 "режим розробника" або плагін, як Firefox / Chrome / Safari?

Відповіді:


90

Веб-помічник з розробки дуже хороший.

IE Dev Toolbar часто буває корисно, але , до жаль , не чинить налагодження сценаріїв


4
Варто зазначити, мабуть, те, що вам потрібно вимкнути «відключення налагодження» у розширених параметрах.
Дан Розенстарк

24
Я не бачу жодних параметрів налагодження сценарію на панелі інструментів IE Dev, і найновіша версія Helper Web Helper не працює навіть після зміни моїх розширених налаштувань та перезапуску IE7.
stevebot

9
Наведене вище посилання помічника веб-розробників є неіснуючим. Чи може хтось підтвердити, що це той самий інструмент, який розміщується тут? softpedia.com/get/Tweak/Browser-Tweak / ...
RMorrisey

3
О іронія; Посилання для завантаження програмного забезпечення для веб-розробника померла в IE7! (Страшна помилка "Операція відмінена".)
Шон Макміллан

1
Я думаю, що посилання призводить до зловмисного програмного забезпечення.
дерево

41

Сувора правда полягає в тому, що єдиний хороший налагоджувач IE - це Visual Studio.

Якщо у вас немає грошей на реальну угоду, завантажте безкоштовну програму Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition . Хоча перший дозволяє приєднувати налагоджувач до вже запущеного IE, другий не робить (принаймні попередні версії, які я використовував, цього не дозволяли). Якщо це все-таки має місце, фокус полягає у створенні простого проекту з однією порожньою веб-сторінкою, «запустіть» її (запускає браузер), тепер перейдіть на будь-яку сторінку, яку ви хочете налагодити, і починайте налагодження.

Microsoft надає повну Visual Studio на різні події, як правило, з ліцензійними обмеженнями, але вони дозволяють майструвати вдома. Перевірте їх графік та список халяв.

Ще одна підказка: спробуйте спочатку налагодити веб-додаток з іншими браузерами. Я мав великий успіх в «Опері». Якимсь чином емуляція IE і помилок Opera була досить близькою, але налагоджувач набагато кращий.


2
Покрокові інструкції див. у відповіді @ mitjak
rymo

4
VS - не єдиний хороший налагоджувач IE, хоча я згоден, що не так багато хороших. Це той самий IE-налагоджувач JavaScript, який я використовую протягом багатьох років, хоча це не безкоштовно: 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, відладчик з’явиться, щоб показати вам, яка лінія псується. Іноді це може стати дратувати, коли ви займаєтесь звичайним серфінгом, але ви можете вимкнути його.

ось гарний запуск, як використовувати цей інструмент теж. HOW-TO: Налагодження JavaScript у Internet Explorer


Розірвано посилання на практику. Ось оновлене посилання: jonathanboutelle.com/2006/01/16/…
Дана

Відмінний маршрут налагодження з низьким тертям без встановлення сторонніх програм.
Джон Хедлі

27

Я знайшов DebugBar .

Не так добре, як Firebug, але близько.


3
все-таки, набагато краще, ніж тобто панель інструментів для розробників
Сем Шафрон,

2
Я не знаю, чому це не прийнята відповідь. Набагато краще, ніж будь-який інший налагоджувач для IE.
Трес

1
Я фактично знайшов безкоштовний " Companion 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, і це те, що я шукав.
Alex W

Дуже корисно оглянути елементи на IE 7. Дякую! :)
Леніел Маккаферрі

7

Microsoft Script Editor - це справді варіант, і з тих, з якими я спробував один із стабільних - налагоджувач в IE8 чудовий, але чомусь коли я запускаю Інструменти для розробників, IE8 займає деякий час, іноді до хвилину, щоб переглянути дерево DOM моєї сторінки. А згодом, схоже, хочеться робити це на кожній сторінці оновлення, що є катуванням.

Ви можете перевіряти вміст змінних у редакторі Microsoft Script: якщо ви обміняєтесь під Налагодження> Вікно, ви можете увімкнути локальну перевірку змінних, перегляд тощо.

Інший варіант, Visual Web Dev, хоча і об'ємний, працює досить добре. Щоб налаштувати це, зробіть це (вкрадено звідси ):

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

ОНОВЛЕННЯ : До речі, якщо ви відчуваєте такі ж уповільнення, як і я, інакше пристойний налагоджувач IE8, є вирішення проблеми - якщо ви зіткнулися або змусили IE зіткнутися з помилкою, щоб вона з'явилася діалогом "Хочеш налагодження" і натисніть Так, налагоджувач з’явиться майже миттєво. Схоже, якщо ви переходите «прямо» в режим налагодження, інструменти Dev ніколи не перевіряють DOM. Це відбувається лише тоді, коли ви натиснете F12.


Мені доведеться перевірити це ще трохи, але поки здається, що налагоджувач IE8 працює швидше під час перегляду в режимі сумісності. Піди розберися!
dmkc

1
Якщо ви використовуєте експрес (безкоштовну) версію VWD, переконайтесь, що ви закрили ВСІ вікна IE перед кроком 4 - VWD повинен бути тим, хто запускає IE свіжим, щоб він "володів" ним.
римо

3

IE8 має значно вдосконалені інструменти для розробників. До цього часу найкраще спочатку написати javascript для firefox, а потім налагодити IE, використовуючи заяви ().


Не можу чекати IE8 (до тих пір, поки це не до кінця - я ще не завантажую бета-версію)
alex

Тепер, коли це вже не вдалося, я мушу сказати, що мені подобається налагоджувач навіть краще, ніж firebug :)
Joel Coehoorn

@Joel, хоча налагоджувач чудовий - одне, що мене дратує (що Firebug) - це контекстне меню правою кнопкою миші, де можна вибрати "перевірити елемент". Наскільки мені відомо, в IE8 вам потрібно запустити інструменти для розробників, потім натиснути стрілку, а потім знайти елемент, який ви хочете перевірити.
alex

3

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

Я завантажив програму Visual Web Developer 2008 Express Edition, яку згадував Євген Лазуткін, але ще не мав можливості спробувати її. Я рекомендую спробувати це перед редактором сценарію / налагоджувачем.


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 компактний режим. Є несумісності.
thorn̈

1
+1 Принаймні IE8 повідомляє вам ім'я файлу сценарію, який викликає помилку.
Полковник Спонш

@thorn, але є режим IE7. (Може, раніше не було?) Отже: регулярний режим сумісності, режим IE7.
ANeves

1
@ANeves - це просто різні назви для однієї і тієї ж речі
thorn̈

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)
12.12

0

Запуск коду через інструмент статичного аналізу Javascript, як-от JSLint, може зафіксувати деякі поширені помилки IE7, наприклад, контурні коми в визначеннях об'єкта.



0

Якщо вам все-таки потрібно налагодити IE 7, режим емуляції IE 11 працює досить добре.

Перейдіть до меню: Інструменти Dev, потім до емуляції та встановіть її. Він також дає інформацію про рядки помилок.


-1

Наступні інструменти для мене чудово підходять:

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

Надайте зручний інтерфейс користувача з такими функціями, як джерело, стиль, DOM, скрипт, перевірка HTML. Він також показує фактичну помилку у вашому файлі JS (який рядок, який файл).

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

Надайте консоль для IE6 або IE7 (яка спочатку не підтримує)

  • Знімок екрана

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.