отладка JavaScript для IE6 - PullRequest
       22

отладка JavaScript для IE6

13 голосов
/ 21 января 2009

firebug - довольно полезный инструмент, который я не могу себе представить без него. Я также скачал файл js, который помогает вам получить аналогичную функциональность при использовании IE6, надеясь, что это поможет мне решить некоторые проблемы, однако полученные сообщения не совсем дружелюбны, такие как:

«Ожидаемый»: «(default2.aspx, 16)» - в строке 16 нет ничего, что могло бы ожидать «:»

или

«Объект не поддерживает это свойство или метод (default2.aspx, 198)» в строке 198 ничего интересного, что может потребовать какой-либо поддержки.

мой сайт выглядит как другой веб-сайт в IE6. Большая часть CSS не работает, некоторые функции jquery не работают, и мне нужно, чтобы этот сайт работал в IE6. Любая помощь будет оценена с точки зрения;

  • как узнать, что означают сообщения (например, те, что указаны выше) в IE6, и как эффективно отлаживать js в IE6?

  • с чего начать для совместимости css .. например создать разные CSS-файлы для разных браузеров и загрузить их, обнаружив браузер? или есть какие-то общие проблемы и хаки?

Я заблудился, поэтому, пожалуйста, дайте мне любое направление, чтобы начать ..

Ответы [ 8 ]

15 голосов
/ 21 января 2009

Вы отлаживаете JavaScript в IE6 с помощью: -

Microsoft Script Debugger

Веб-сайт QuirksMode является полезным сайтом, позволяющим определить, какие биты CSS реализованы и каким образом, каким браузером. Обратите внимание, что рендеринг в стандартном режиме IE6 общеизвестно глючит.

7 голосов
/ 21 января 2009

Можете попробовать Companion JS . Это довольно хорошо с точки зрения отладки. Также требуется отладчик скриптов Microsoft.

Companion JS, к счастью, поддерживает "console.log" (через firebug). Это бесплатный инструмент. Debug-bar - хороший отладчик CSS-DOM-Javascript, но он не является бесплатным для коммерческих целей.

3 голосов
/ 21 января 2009

«Ожидаемый»: «(default2.aspx, 16)» - в строке 16 нет ничего, что могло бы ожидать «:»

Ошибка не будет в строке 16 вашего файла .aspx, возможно, даже не в строке 16 исходного HTML-файла, который создает файл aspx. Это будет рядом со строкой 16 одного из ваших связанных файлов .js. Который из? IE не скажет вам.

Это можно узнать, добавив дополнительные строки в начале каждого файла .js и посмотрев, что происходит с номером строки ошибки, но, вероятно, лучше просто установить Script Debugger.

IE8 наконец исправляет это.

Должен ли я создавать разные CSS-файлы для разных браузеров и загружать их, обнаруживая браузер? или есть какие нибудь общие проблемы и хаки?

Начните с совместимого со стандартами CSS и типа документа в режиме стандартов и протестируйте его в Firefox 3 или Opera, Safari, Chrome. В основном они дадут вам более или менее одинаковые результаты. Теперь протестируйте в IE7 и, надеюсь, это будет работать.

Сегодняшний проблемный браузер - IE6. Возможно, вам придется добавить хаки для этого. Вы можете сделать это в отдельной таблице стилей, если их много, или просто использовать хак "* html" для случайного правила.

Вы можете забыть обо всех старых хакерских атаках, хакерских моделях и т. Д. Они используются только для IE5, который не работает, и IE6 Quirks Mode, который вы не должны использовать.

3 голосов
/ 21 января 2009

Два инструмента, которые я использую:

  1. Помощник по веб-разработке
  2. Панель инструментов разработчика IE

Они в некоторой степени дублируют функциональность друг друга, но каждый может быть полезен для различных задач. Помощник по веб-разработке имеет встроенную консоль JavaScript, он не так хорош, как Firebug, но лучше, чем ничего и проще, чем MS Script Debugger.

0 голосов
/ 15 мая 2009

Я использовал MS Script Debugger с некоторым успехом, а также IE Developer Toolbar и Firebug Lite . Недавно я узнал о MS Visual Web Developer Express Edition , который до сих пор был большим улучшением.

0 голосов
/ 21 января 2009

Я обнаружил, что ошибки с номерами строк гораздо точнее при использовании отдельного файла js.

Я все еще использую IE6 в качестве основного браузера при разработке. Позже это избавит вас от многих проблем, так как вы часто сталкиваетесь с проблемами CSS в процессе.

Я также считаю полезным использовать логгер JavaScript для отправки отладочных сообщений. Это альтернатива куче предупреждающих сообщений. Лично я использую Yahoo UI logger

0 голосов
/ 21 января 2009

или вызов AJAX для отправки отладочных переменных / сообщений в сценарий ASP (PHP), который будет регистрировать его. это поможет, если проблема с неопределенными переменными или с похожими проблемами.

0 голосов
/ 21 января 2009

Я использую одну из двух вещей для отладки js: Microsoft Script Editor или Firebug Lite . Идите здесь для получения дополнительной информации.

Что касается CSS, я рекомендую CSS Reset . А для небольших различий в IE6 рассмотрите возможность использования условных комментариев .

При создании приложения для использования в нескольких браузерах quirksmode спасает жизнь.

РЕДАКТИРОВАТЬ: blackbird - хороший кросс-браузерный инструмент для отслеживания состояния.

...