- PVSM.RU - https://www.pvsm.ru -
Это цикл статей о Web Inspector. Я постараюсь максимально подробно описать его возможности.
В первой серии мы залезем в настройки, посмотрим, что умеет консоль и поиграемся с панелью «Elements».
Так как Web-Inspector не переведен на Русский, я буду сохранять оригинальные названия.
В качестве бонуса, приложу скриншот одной и самых первых версий, из далекого 2006го.
-Web-Inspector-chast-1.png)
Сейчас существует несколько версий Web Inspector:
Я буду использовать Google Chrome Canary Build [1], и, если Web Inspector — ваш основной инструмент для отладки, то рекомендую именно эту версию (Если у вас не Windows, скачайте Chromium [5] )
Почти все описанное здесь, тем не менее, будет работать и в других версиях Web Inspector.
Есть несколько способов открыть Web Inspector:
Все новые инструменты сначала попадают в «экспериментальные функции». Чтобы включить их, зайдите в «about:flags», найдите там опцию Enable Developer Tools experiments (Включить экспериментальные инструменты разработчика).
После этого перезапустите браузер.
Будьте осторожны с экспериментальными функциями, они могут работать не так как ожидается и вызывать ошибки.
Я буду рассматривать экспериментальные функции в одной из следующих статей.
Давайте откроем диалог настроек нажав на эту кнопку
, в правом нижнем углу и посмотрим, что там есть интересного.
Закрепляет Web Inspector в правой части страницы.
На больших мониторах это позволяет лучше использовать горизонтальное пространство,
к тому же легко позволяет легко менять широту видимой
области браузера, что полезно для быстрого тестирования media queries.
-Web-Inspector-chast-1-4.png)
По умолчанию Web Inspector снизу. Можно вытащить его в отдельное окошко, нажав на -Web-Inspector-chast-1-5.png)
Выключает кэш. Весьма полезная опция, при отладке скриптов и стилей.
Еще можно очистить кэш из панели «Network», нажав там правой кнопкой и выбрав «Clear Browser Cache»
Хочу отметить эту функцию здесь, потому что появилась она совсем недавно. Она… выключает Javascript.
Более серьезный способ, для тестирования media queries (англ.) [6]. Позволяет задать ширину и высоту экрана, а так же маштаб шрифта. В идеале хотелось бы несколько готовых пресетов для популярных мобильных платформ.
-Web-Inspector-chast-1-6.png)
Позволяет эмулировать touch-события. Полезно, для тестирования мобильных приложений.
Представьте себе, что можно было бы выкладывать на сайт минифицированную/собранную из частей/скомпилированную версию скрипта, а браузер сам бы мог найти исходник для отладки.
Source maps (англ.) [7], позволяют указать браузеру способ найти исходный файл.
Идея отличная, по пока позволяет работать только с Javascript.
В будущем обещают поддержку CoffeeScript, LESS, SASS и других чудо-технологий.
Показывает в консоли XHR запросы. (англ.) [8]
Если выбрана эта опция, содержимое консоли будет сохранено даже при одновлении страницы.
Чтобы посмотреть список горячих клавиш, откройте любую вкладку кроме консоли и нажмите там "?" (В английской раскладке).
-Web-Inspector-chast-1-7.png)
Обратите внимание, что если окошко не влезает полностью, оно обрезается и может скрыть часть информации.
Здесь все довольно очевидно, важно знать, что практически везде работает автодополнение.
Консоль позволяет вводить и исполнять любые Javascript команды. Если вы хотите написать выражение из нескольких строк используйте SHIFT+Enter.
Для консоли выделена отдельная вкладка, но она активно взаимодействует с другими, поэтому ее можно вызвать из любой другой вкладки, нажав клавишу Esc. При этом текст, который вы начали набирать сохраняется.
Консоль можно использовать не только по прямому назначению.
- Она отлично помогает в качестве калькулятора, при несложных рассчетах
- В качестве игрального кубика: Math.ceil(Math.random()*6)
- В качестве быстрой записаной книжки: localStorage.setItem(0, «Номер телефона»);
Если вы знаете какие-то еще нетривиальные способы использования консоли, отметьтесь пожалуйста в комментариях, я вам буду весьма благодарен.
Как и везде, в консоли есть автодополнение. Сначала, может быть не совсем очевидно, как оно работает.
Можно выбрать, что именно хотим видеть в консоли с помощью этой панели снизу:
-Web-Inspector-chast-1-8.png)
Можно выбрать два элемента, если зажать CTRL. Здесь же можно выбрать фрейм, с которым мы хотим работать.
Если у вас установлены расширения, содержащие ошибки, эти ошибки будут постоянно отображаться в консоли.
К сожалению, в данный момент нет простого способа их отключить. В качестве временных мер можно:
Почему-то CTRL+Scroll в консоли не работает.
Зато можно использовать CTRL + для увеличения шрифта, CTRL — для уменьшения и
CTRL + 0 для изначального масштаба.
У консоли есть свои собственные команды, Так как Web Inspector написан на JS, список всех команд можно посмотреть в самой консоли, введя console._commandLineAPI. Давайте рассмотрим самые интересные из них.
-Web-Inspector-chast-1-9.png)
Есть несколько способов очистить консоль:
В переменных $0-$4 — Последние пять выбранных элементов, в порядке выбора.
Любой DOM элемент, выведенный в консоли, можно открыть во вкладке «Elements», нажав правой кнопкой мышки.
-Web-Inspector-chast-1-10.png)
Консоль поддерживает несколько дополнительных способов выбрать элементы, без каких либо дополнительных библиотек.
Обратите внимание, что есла на сайте используется какая-то Javascript-библиотка, то эти функции
могут быть перезаписаны. Например на Хабре $ это jQuery [9].
Есть несколько функция, ползволяющих узнать больше, об элементе. В основном они дублируют функционал панелей из вкладки «Elements».
Можно следить за всем, что происходит с элементом, с помощью функции monitorEvents( element )
-Web-Inspector-chast-1-11.png)
С помощью второго аргумента можно выбрать тип событий, за которыми вы ходите следить:
Остановить это безумие можно с помощью функции unmonitorEvents( element )
Результат любого выражения можно сразу скопировать в буфер обмена, используя функцию Copy(). Приятно и может сэкономить немного времени.
Эта панель содержит в себе все DOM-Дерево нашей страницы, обновляющееся в режиме реального времени.
-Web-Inspector-chast-1-12.png)
Каждый раз, когда на странице изменяются элементы, они обновляются в дереве и наоборот.
Если вы хотите выбрать какой-то элемент из документа, нажмите на кнопку с лупой внизу или CTRL+SHIFT+C и выберите любой элемент.
При наведении мышкой будут показан CSS пусть до элемента, его размеры и отступы.
В самом низу панели можно увидеть путь до файла. Можно кликнуть на выбрать любой родительский элемент.
-Web-Inspector-chast-1-13.png)
Передвигаться по дереву можно стрелками (если вы в другой секции, то можно вернуть фокус, с помощью CTRL+ вверх/вниз).
Чтобы изменить любой атрибут или значение, дважды кликните на элемент, или нажмите Enter
и доберитесь до него с помощью кнопки Tab (SHIFT+Tab).
Можно так же изменить весь HTML-код элемента, нажав F2.
Вы можете выбрать любой элемент и удалить его нажав Delete, что весьма полезно для убийства рекламы, пропущенной адблоком.
Можно перетащить элементы мышкой из одного контейнера в другой и они автоматически перенесутся в самом документе.
Также любой элемент можно перетащить в ваш текстовый редактор. Правда при этом скопируется только код самого элемента, все что в него вложено потеряется.
Нажав на элемент правой кнопки мышки, можно скопировать его HTML-код, или XPath-путь и установить DOM-брейкпоинты.
Выделив элемент, можно посмотреть информацию про него, в панели справа.
Список CSS-стилей, примененных к элементу. Если поставить галку в «Show inherited», то отобразятся все стили, включая браузерные.
Список правил, примененных к элементу. Их можно менять и изменения мгновенно появятся в документе.
Важно понимать, что все изменения будут потеряны, после обновления браузера. .
Можно выключить любое выражение, убрав галку из чекбокса слева.
Раздел element.style показывает стили прописанные в style атрибуте в HTML коде документа,
а раздел Matched CSS Rules показывают все селекторы, заданные с CSS файлах и совпавшие с выбранным элементом.
Перемещаться между свойствами и значениями можно можно с помощью Клавиши Tab (SHIFT+Tab), чтобы вернуться назад).
Вы можете добавить свой селектор, нажав на кнопку
, а удалить потом не сможете.
Можно добавить новое выражение в уже имеющийся селектор, нажав на закрывающую фигурную скобку правила (или начав изменять последнее выражение нажать Tab).
Нажав на эту кнопку
, и проставив галки, вы сможете задать пэлементу псевдоклассы :active, :focus, :hover и :visited.
Нажав на кнопку с шестеренкой
,As authored — покажет цвета в том формате котором они были заданы.
Числовые значения можно изменять с помощью клавиатуры.
Если нажать на квадратик рядом с цветом, можно выбрать цвет из удобного диалога. Нажав на числовое значение, можно ввести цвет вручную.
Здесь можно увидеть размеры и отступы элемента (А если для элемента задан position, то и положение).
Вы можете изменить здесь любое значение, нажав на него дважды.
Интересно, что все размеры показываются в пикселях, даже если вы пропишете размеры в EM, они будут переведены в пиксели автоматически.
В этом разделе показаны все свойства объекта, что, наверное, полезно в образовательных целях. Их так же можно менять, но мне это пока ни разу не пригодилось
Здесь список установленных Dom-Брейкпоинтов.Можно быстро найти элемент, кликнув на название, выключить брейкпоинт, убрав галку, удалить брейкпоинт, нажав на него правой кнопкой мыши.
DOM-Брейкпоинты позволяют отслеживать изменения, происходящие с DOM-элементом или его атрибутами. Мы будем разбираться с ними подробнее, когда доберемся до отладки скриптов.
Web Inspector позволяет нам легко модифицировать CSS код. К сожалению, простого способа, позволяющегобыстро сохранить изменения не существует. Есть несколько вариантов
Ссылки в случайном порядке, к сожалению, все на английском.
Это только первая часть статьи. Оставайтесь с нами и вы узнаете
Я часто использую Web Inspector в работе, но могут быть вещи, которые я не знаю, или забыл упомянуть, поэтому я буду рад любым исправлениям или дополнениям.
До следующей серии!
Автор: z6Dabrata
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/veb-dizajn/7458
Ссылки в тексте:
[1] Google Chrome Canary Build: https://tools.google.com/dlpage/chromesxs
[2] Ночные сборки WebKit: http://nightly.webkit.org/
[3] Стабильный Google Chrome: https://www.google.com/chrome
[4] Safari: http://www.apple.com/safari/download/
[5] Chromium : http://www.chromium.org/getting-involved/dev-channel
[6] media queries (англ.): http://mediaqueri.es/
[7] Source maps (англ.): http://www.HTML5rocks.com/en/tutorials/developertools/sourcemaps/
[8] XHR запросы. (англ.): https://developer.mozilla.org/en/XMLHttpRequest
[9] jQuery: http://jquery.com
[10] ELV1S: http://habrahabr.ru/users/elv1s/
[11] ChromeDevtools Autosave (англ.): https://github.com/NV/chrome-devtools-autosave
[12] сервера (англ.): https://github.com/NV/chrome-devtools-autosave-server
[13] Node JS (англ.): http://nodejs.org/
[14] Peter Beverloo (англ.): http://peter.sh/
[15] Chrome Developer Tools (англ.): https://developers.google.com/chrome-developer-tools/
[16] About Safari Developer Tools (англ.): https://developer.apple.com/library/safari/#documentation/AppleApplications/Conceptual/Safari_Developer_Guide/1Introduction/Introduction.HTML
[17] — Modern Web Development (англ.): http://jtaby.com/2012/04/23/modern-web-development-part-1.HTML
[18] monitorEvents (англ.): http://www.briangrinstead.com/blog/chrome-developer-tools-monitorevents
[19] Youtube канал от разработчиков Chrome (англ.): http://www.youtube.com/user/ChromeDevelopers
[20] Исходные коды (англ.): http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/inspector/&exact_package=chromium&q=monitorevents%20lang:%5Ejavascript$&type=cs
[21] Багтрекер (англ.): http://code.google.com/p/chromium/issues/list?can=2&q=feature=DevTools
[22] Paul Irish (англ.): http://paulirish.com/
Нажмите здесь для печати.