Как правильно отладить js сценарии и CSS стили
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:

∴ Установка програм

» Netbeans - редактор php » Учимся использовать логи » Список программ для создания сайта » Установка Denwer » Установка Photoshop » Установка Smarty » Установка Dreamweaver » Установка phpMyAdmin » Установка Web-сервера Apache » Установка PHP » Установка MySQL

∴ Оптимизация сайта

» Addstudio - SEO модуль » Отладка js и CSS » Атрибут rel="nofollow" » Тестируем кроссбраузерность » Понятие кроссбраузерности » Оптимизация кода » Детально про PageRank » Создание статических страниц » Внутреняя перелинковка » Про валидность сайтов » Правила оптимизации » Мета-теги

∴ Пример создания сайта

» Выбор движка сайта » Парадигма ООП в php » ООП и классы в php » Использование Ajax » Использование smarty » Переменные php, метод Get и Post » Favicon - иконки Вашего сайта » Таблица символов в html коде » Технология создания web-проекта » Практический урок » Создаем «файл-шаблон» » Создаем «файл PHP» » Полезные елементы сайта

∴ Раскрутка сайта

» Каталоги и биржи статей » SEO программа » Продвижение ключевых слов » Если сайт забанили » Форум как способ раскрутки » Создание дорвеев (doorway) » Обзор seo-программ » Индексация сайта » Обмен ссылками » Раскрутка в рейтингах » Обмен статьями » Поисковые системы » Продвижение сайта на Sape.ru

∴ Хостинг и домен

» Свой веб сервер » Про хостинг и домен » Выбор хостинга » Выбор домена

∴ Заработок Web-мастера

» Аутсорсинг на oDesk.com » Обзор биржи Liex.ru » Стратегия дохода на Sape.ru » Про заработок Web-мастера » Заработок на Sape.ru

∴ Подготовка к созданию сайта

» Платный или бесплатный? » Лицензии open source » Фриланс - каждый может! » Готовимся к созданию сайта » Про уникальность контента » Основы создания сайта » Создание семантического ядра » Курс молодого web-мастера » Тематика сайта

∴ Примеры PHP/Javascript

» Шифруем код base64 » Bcompiler расширение php » Отладка скриптов в php » Авторизация на sape.ru » Cокеты в php » Защита js кода » Отправка почты на PHP » Создание часов » Защита от спама » Резолюция дисплея на Javascript
 
 
 
sape
 
Кнопка сайта:
Самостоятельное создание сайта, веб-дизайн, web-программирование, продвижение и оптимизация сайта
лист Л63




По всем вопросам пишите на webmaster@info-pages.com.ua. Вы можете свободно использовать/размещать/перепечатывать статьи сайта всего лишь указав ссылку на источник.
Как правильно отладить js сценарии и CSS стили
  

   Инструменты для отладки js сценариев и CSS стилей

Размещено: 12 февраля 2010   

   Изначально эту статью я хотел посвятить только тому, что касается отладки js сценариев. Но после написания, оказалось что, вопрос CSS отладки очень сильно связан с этими же отладчиками, поэтому создавать отдельную статью про CSS отладку просто не имеет смысла.

   Javascript сочетает в себе мощность и разнообразие параллельно с примитивной отладкой в браузерах. Постоянно пользоваться функцией alert() - трата драгоценного времени. Поэтому без внешних инструментов отладки выявить ошибку и правильно настроить сценарии у Вас быстро не получится. Сценарии js выполняет браузер, но у самих браузеров инструменты по отладке js скриптов либо отсутствуют, либо настолько примитивные, что ими даже пользоваться не хочется.

   CSS отладка - это важная составляющая кросс-браузерности вашего сайта. При верстке дизайна сайта верстальщики тестируют страницы в основных браузерах. Основная цель CSS отладки это одинаковое визуальное отображение страниц сайта во всех основных браузерах.

   Под каждый браузер существуют специальные инструменты для отладки js сценариев и одновременно CSS отладки. Эти инструменты - специальные утилиты написанные под конкретный браузер. Поэтому отлаживать свои js скрипты Вам придется только под одним браузером, так как каждый браузер имеет свою утилиту.

Браузер Инструменты для отладки js сценариев
Firebug

Firebug Lite,
Dragonfly Opera 9.5 и выше

Firebug Lite
Существует, также, очень мощный инструмент для разработки и отладки
MS Visual Studio, но этот инструмент очень притормаживает и может выдавать ошибку в течении 5-7 сек.
IE 8 имеет встроенные Developer Tools (для отладки в IE 7 есть режим симуляции)

   Firebug

   Самым популярным и удобным инструментом большинство считают Firebug для браузера Firefox. И в практической разработке js сценариев я тоже использую эту утилиту. Из всех представленных выше инструментов Firebug наиболее удобный в использовании и функциональней.

   На изображение показана часть консоли Firebug'а.
   Вкладка "Консоль" самая важная - на ней построчно отображаются ошибки выявленные во время выполнения js сценариев. В строке отображается причина ошибки, а справа название файла и номер строки. При нажатии на кнопку "Профилировать" она перейдет в нажатое состояние. Если Вы отожмете ее, появится таблица с перечнем функций которые выполняются браузером в реальном режиме. Будет показано названия функций, количество вызовов и время выполнения этих функций за промежуток пока было удержана кнопка "Профилировать".
   Второй по важности можно считать вкладку "Сценарий". Здесь Вы можете увидеть внутренний код любого выбранного js файла. На вкладке, также доступны такие интересные параметры:
   - декомпилировать исходники в eval. Позволяет выводить на экран исходный код скрипта, а не закодированный.
   - останавливаться на всех ошибках. Останавливает выполнение скрипта на строках, где выявлена ошибка, с описанием ошибки. Сюда, также, относятся ошибки, которые не являются критическими для выполнения скрипта.
   Останавливать выполнение скрипта в любой строке Вы можете и самостоятельно. При этом Вам будет доступен просмотр стека вызовов, где отображаются в хронологическом порядке все выполненные функции до точки остановки скрипта. При остановке скрипта, наведение мышки на любой элемент кода, вызывает всплывающее меню со значением элемента.
   Вкладка "Сеть" отображает список загруженных скриптов. Если нажать на любой файл, то будет показана информация про обмен заголовками между браузером и сервером, а также содержимое js скрипта. В строке, также отображается размер и время загрузки скрипта.
   Это может быть полезно не только при отладке сценариев, а и для ускорения загрузки страницы. Можно просматривать размеры рисунков, подгружаемых js сценариев и оценивать время затраченное на загрузку каждого элемента страницы. Цветовая гамма загрузки помимо отображения времени на загрузку элемента (страницы), времени DNS запроса и времени HTTP запроса, также показывает время ожидание ответа сервера. Или другими словами, время выполнения кода php.

   Кроме всего, Firebug позволяет отслеживать ajax запросы, просматривать заголовки ответов и опять же оценивать время запросов.
   Помимо всего Firebug имеет командную строку, которую при желании можно увеличить в окно произвольного размера и в нем вживую писать и сразу выполнять любой js код.
   Разработчики Firebug создали специальную версию Firebug Lite, которая позволяет отлаживать js сценарии во всех других основных браузерах (Opera, IE, Safari). Правда эта версия немного урезана, но это все равно лучше чем ничего. Ну, и помимо самой отладки js сценариев, доступны также CSS отладка и структура DOM страницы. Выполнение js событий (onclick, onmousemove и т.д.) позволяет в реальном времени отслеживать изменения в HTML коде страницы и DOM документа. Измененные части html кода мгновенно подсвечиваются.
   Если Вы выберите элемент страницы и нажмете на вкладку "Макет", то сможете увидеть как элемент позиционируется на странице, а вкладка "Стиль" отобразит все активные и переопределенные свойства элемента (перечеркнутое свойство).
   Свойство переопределяется по последнему установленному значению по приоритетности места его назначения.
Приоритет назначение стиля по возрастанию (нижний переопределяет верхний)
   - подключенный css файл;
<link type="text/css" rel="stylesheet" href="../mystyles.css"> (в теге head страницы)
@import "new.css";(загрузка стилей из активного файла *.css)
   В случае, если одному из стилей, тогда !important позволяет повысить приоритет стилевого параметра
   - указание стилей в теле страницы;
   с помощью тегов <style></style> в любой части страницы
   - определение стиля в атрибуте элемента style;
   например, <a href="#" style="color:red"></a>


   Opera Dragonfly

   В целом Dragonfly тоже неплохой отладчик, но с первой попытки начать отладку у меня не получилось. При тестовой попытке отладить js сценарий, консоль ошибок почему-то упорно оставалась чистой, хотя в скрипте была допущена синтаксическая ошибка и, принудительно, отображалось окно "Консоль ошибок" с указание строки с ошибкой. Как оказалось, для каждой страницы необходимо было заново перезапускать Dragonfly.
   По сути отладка js сценариев в Dragonfly это всего лишь дублирование информации об ошибке в "Консоле ошибок" в консоли самого Dragonfly.
   Помимо этого, Dragonfly представляет обширные возможности по CSS отладки страницы. Как по мне, то немного проще для восприятия, чем в Firebug. Помимо позиционирования элемента в странице, Dragonfly предлагает просмотр отдельную вкладку "Рассчитанный стиль" в которой отображается все существующие свойства элемента и вкладку "Стили" со свойствами элемента разбитыми по классам.
   Тогда как, Firebug на вкладке "Показать вычисленный стиль" отображает все свойства без цветового оформления. Однако, по сравнению с Firebug, изменение CSS свойств и просмотр изменений в реальном времени в Dragonfly недоступно. Каких-либо особенностей Dragonfly в отличие Firebug по отладке js сценариев нет. Есть также отображение Ajax запросов, заголовки обмена данные между клиентом и сервером, время запроса. Однако указывается лишь полное время запроса без детализации. При работе с Dragonfly складывается впечатление, что он немного притормаживает. Сравнение быстродействия консолей, показало что Dragonfly таки напрягает процессор больше, хоть и незначительно.


   К минусам можно отнести то, что для отладки js сценариев не предусмотрено профилирование.

   IE Developer Tools

   Полный набор инструментов для отладки js сценариев и css отображение свойств элементов страницы. В случае синтаксической или другой ошибки в js сценарии в консоли отображается описание ошибки, название файла и номер строки в которой произошла ошибка.

   К особенностям, которых нет в других отладчиках, можно отнести:
   - возможность изменять размер страницы под популярные расширения (1024х768, 1280х768б 1280х1024 и другие);
   - при профилировании "Создание/Остановка профилей" названия функций, количество вызовов и время выполнения этих функций за промежуток можно вывести в виде дерева. Что позволяет удобно отследить очередность и вложенность вызовов функций. Firebug позволяет выводить только общий список вызванных функций;
   - функция "вид -> источник -> исходный код элемента со стилем" выводит в отдельном окне html код выделенного элемента вместе со всеми это css стилями. Это может быть особенно полезно, если Вам вдруг понадобится взять с другого сайта часть страницы вместе с сss стилями.
   К минусам можно отнести то, что в IE Developer Tools отсутствует панель для отслеживания запросов, поэтому отследить количество запросов и скорость загрузки не получится.
   Как известно, IE это самый отстающий от спецификаций браузер. При верстке дизайна IE больше всех требует внимания и поиска решений для правильного отображения элементов страницы. Поэтому к большому плюсу IE Developer Tools можно отнести возможность проверять совместимость страницы в IE 7.

   Как и в выше перечисленных отладчиках пользователю доступен просмотр стилей выделенного элемента как в разрезе стилей по классам, так и окончательный набор стилей.

   Вот пожалуй и все, с основными отладчиками js сценариев и CSS Вы ознакомились. Более детально описывать я не вижу смысла, ведь большинство возможностей обычно не используются. Все отладчики имеют русскоязычный интерфейс и с упущенными деталями Вы сможете разобраться самостоятельно без особых затруднений. Удачи Вам.

   
Ваша оценка:
 kod
Проголосовать!
Спасибо, Вы успешно
проголосовали!
Ошибка скрипта,
сообщите администратору!
Ошибка,
неверный код!
Вы уже голосовали!
Рейтинг: +5, проголосовало 5
  Отображено 0 последних комментариев  
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:    
   Почтовый ящик @:     * - не отображается
   Текст комментария:




:) :( ;) :|
8) :] :0 :B
:Ok :sos :S B(
yes boom write
   Введите защитный код:   kod

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

Логин:
Пароль:



















 
Все права защищены, 2007-2009рр. статей: всего 77, на модерации 248; комментариев: 463, ссылок: всего 15, новых 0; выполнено за 0.21 sec. Карта сайта