Отладка javascript для IE6

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

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

или

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

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

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

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

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

Ответ 1

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

Microsoft Script Отладчик

Сайт QuirksMode - это полезный сайт для определения того, какие биты CSS реализованы каким образом каким браузером. Примечание. Режим IE6 "Стандартные" режимы работы, как правило, ошибочны.

Ответ 2

Вы можете попробовать Companion JS. Это довольно хорошо в отношении отладки. Для этого также требуется отладчик Microsoft Script.

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

Ответ 3

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

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

Ответ 4

"Ожидаемый": '(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, который вы не должны использовать.

Ответ 5

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

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

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

EDIT: blackbird - отличный кросс-браузерный инструмент для отслеживания состояния.

Ответ 6

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

Ответ 7

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

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

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