DevTools: как открыть инструменты разработчика в браузере и почему они делают работу эффективнее
DevTools (инструменты разработчика) доступны во всех современных браузерах и полезны по нескольким причинам. Например, их можно использовать для отладки кода и тестирования изменений в HTML, CSS и JavaScript в режиме реального времени. В этой статье расскажем, как открывать DevTools в разных браузерах и на примере разберем, какие возможности они предоставляют.
Вкладка Console в DevTools позволяет работать с JavaScript при просмотре любой страницы. Это может быть удобно в разных ситуациях:
- Просмотр ошибок. Например, позволяет увидеть, что какие-то ресурсы (CSS, изображения и так далее) на странице не загрузились.
- Обращение к HTML-элементам. Так можно сразу проверить правильность написания пути до элемента в JavaScript.
- Отладка кода на JavaScript. Речь идет о тестировании и устранении ошибок непосредственно в браузере. Для этого вкладка дает множество инструментов.
Сначала разберемся, как открыть консоль в разных браузерах.
Профессия «Инженер по тестированию»
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных
Google Chrome
- Нажмите значок с тремя точками в правом верхнем углу окна браузера.
- В появившемся меню наведите курсор мыши на «Дополнительные инструменты» и выберите «Инструменты разработчика» в расширенном меню.
- После этого в правой части экрана откроется раздел с DevTools.
Еще один способ — использовать горячие клавиши. В Chrome это Ctrl+Shift+I (или Command+option+I на Mac).

Microsoft Edge
- Нажмите на значок «Настройки и другое» в правом верхнем углу экрана.
- Затем кликните на «Дополнительные инструменты» в раскрывающемся меню и выберите «Инструменты разработчика».
- После этого в правой части экрана откроется раздел с DevTools.
Как и в Chrome, открыть DevTools в Edge можно горячими клавишами Ctrl+Shift+ I (или Command+option+I на Mac).

Mozilla
- Выберите меню-гамбургер в верхнем углу экрана.
- Затем нажмите на «Дополнительные инструменты» в раскрывающемся меню и выберите «Инструменты веб-разработчика».
- После этого в нижней части экрана откроется раздел с DevTools.
Горячие клавиши в Mozilla — Ctrl+Shift+I (или Command+option+I на Mac).

Opera
- Щелкните на значок Opera в верхнем левом углу окна браузера.
- Наведите курсор мыши на «Разработчик» в меню и выберите «Инструменты разработчика».
- После этого в правой части экрана откроется раздел с DevTools.
В Opera DevTools можно открыть комбинацией клавиш Ctrl+Shift+I(или Command +option+I на Mac).

Safari
- Выберите меню Safari в верхнем левом углу экрана.
- Затем нажмите «Настройки» и перейдите в меню «Разработка» в верхней части экрана.
- Выберите «Показать веб-инспектор» в раскрывающемся меню .
- После этого откроется новое окно с инструментами разработчика.
Горячие клавиши для Safari — Command + option+ I.

Яндекс.Браузер
- Нажмите на меню-гамбургер в верхнем правом углу окна браузера.
- Затем кликните по пункту «Дополнительно» и выберите меню «Дополнительные инструменты».
- После этого переходим к пункту «Инструменты разработчика» в следующем меню.
Для запуска консоли также можно нажать Ctrl + Shift + I.

Как использовать консоль
Обычно для быстрого выполнения кода и оценки результата его работы используются сторонние сайты. Другой вариант — NodeJS, которая дает доступ к REPL (Read Eval Print Loop) — интерактивному интерпретатору кода. Вкладка Console, по сути, выполняет те же функции и обладает множеством других возможностей.
Рассмотрим, как работает консоль, на примере Chrome DevTools. В ней можно проверять как простые инструкции вида 2 + 2 , так и большие функции.
Откроем Chrome DevTools, перейдем во вкладку Console, и вставим выражение 2 + 2 DevTools сразу выдаст ответ 4 . Таким образом можно не только складывать числа, а использовать любые методы из стандартной библиотеки JavaScript, например:
'hexlet'.toUpperCase() // => HEXLET [1, 2, 3, 4].map((number) => number ** 2) // => [1, 4, 9, 16]

Помимо простых выражений, которые никак не связаны с сайтом, можно использовать и DOM API для доступа к элементам страницы. Код, указанный ниже, посчитает и вернет количество ссылок на главной странице ru.hexlet.io. Вы также можете самостоятельно перейти на любую страницу и «посчитать» количество ссылок или любых других элементов на ней:
document.querySelectorAll('a').length // => 73

Кроме того, DevTools позволяет создавать переменные. Пока страница существует, созданные переменные будут существовать и вы можете взаимодействовать с ними в будущем:
const linksCount = document.querySelectorAll('a').length // => undefined 2 + 2 // => 4 linksCount // => 73 linksCount * 2 // => 146

Однострочные выражения и инструкции — это довольно просто. Что, если хочется создать функцию, а нажатие на Enter сразу выполняет код? Для многострочных выражений используется перенос с помощью Shift + Enter. Эта опция позволяет писать и использовать красивые функции, которые, как и переменные, могут быть использованы в текущей сессии:
const getElementCount = (tag) => const elementCount = document.querySelectorAll(tag).length; return `Найдено $elementCount> элементов $tag>` > getElementCount('div') // => 'Найдено 105 элементов div'

Это лишь часть возможностей, которые дает использование вкладки Console в различных браузерах. Но этого достаточно, чтобы сделать свою работу эффективнее.
Профессия «Инженер по тестированию»
- Смените профессию за 4 месяца — короткий путь в IT
- Познакомьтесь с этапами разработки и жизненным циклом ПО
- Узнайте всё о техниках тест-дизайна
- Разберитесь с системами управления тестированием и системами баг-трекинга
- Научитесь работать с API и базами данных
Яндекс.Браузер: Обновление браузера и удаление временных файлов
Для обновления Яндекс Браузера в правом верхнем углу окна нажмите кнопку меню (☰), выберите раздел Дополнительно и нажмите О браузере.
Для проверки обновлений на macOS в левом верхнем углу браузера нажмите Yandex, затем О программе.

Если для браузера есть обновление, в открывшемся окне появится кнопка Обновить. Нажмите ее. После установки обновления нажмите на появившуюся кнопку Перезапустить.

Если обновление не требуется, появится надпись «Вы используете актуальную версию Яндекс.Браузера».
Удаление временных файлов в Яндекс.Браузер
Чтобы быстро перейти к удалению временных файлов, нажмите на клавиатуре сочетание клавиш Ctrl + Shift + Delete. Либо нажмите кнопку меню (☰) в правом верхнем углу, выберите раздел История, а затем пункт История.

В появившемся окне слева внизу вам нужно выбрать Очистить историю.
В открывшемся окне выберите За всё время. Ниже отметьте все пункты, кроме Данные автозаполнения форм, Настройки содержимого и Данные приложений. Нажмите кнопку Очистить.

* Удаление данных может занять до нескольких минут.
* После удаления временных файлов перезапустите браузер.
* При первом посещении некоторые сайты могут открываться чуть медленнее, чем раньше. Но все последующие посещения будут такими же быстрыми, как и прежде.
Safari постоянно перезагружает страницу. Что делать
С каждой новой версией iOS становится всё лучше, а ошибки, существовавшие в предыдущих обновлениях, в большинстве случаев исправляют, хоть и не все. Тем не менее, кое-какие проблемы существуют уже не первый год — можно сказать, что чуть ли не с момента появления iPhone. Одна из них — постоянная перезагрузка страницы в Safari. И такое бывает чаще всего именно в фирменном браузере Apple! Конечно, можно решить проблему, скачав другое приложение, но придется заново привыкать к другому браузеру. Разберемся, почему все время перезагружаются страницы в Safari и как с этим бороться.

Разбираемся, почему Safari постоянно перезагружает страницу, и что с этим делать
❗️ ПОДПИШИТЕСЬ НА НАШ ЯНДЕКС.ДЗЕН: В НЕМ МЫ ПУБЛИКУЕМ СТАТЬИ, КОТОРЫХ НЕТ НА САЙТЕ
Почему Safari постоянно обновляет страницы
Зачастую вы можете увидеть, что страница уже начала загружаться, половина контента отобразилась, а затем сверху выскакивает надпись «Эта веб-страница была перезагружена из-за возникшей ошибки«. Удивительно то, что однажды Safari начинает перезагружать страницу, которой вы пользуетесь каждый день. В большинстве случаев после появившегося сообщения страница продолжает перезагружаться и дальше, поэтому на обычный сбой в работе это не спишешь. Для начала нужно проверить, что неисправность касается только Safari.

Сафари постоянно перезагружается? Вот почему это происходит
- Откройте в Safari другой сайт.
- Попробуйте открыть страницу в другом браузере — так вы поймете, что причина не в самом сайте.
- Закройте остальные вкладки в Safari, если они есть, и запустите страницу заново.
Если один из способов вам помог, то проблема кроется в самой странице, которая плохо оптимизирована под смартфоны. Но есть и другие причины постоянной перезагрузки Safari.
5 мелких недостатков iPhone, о которых вы не задумывались
Что делать, если Safari постоянно обновляет страницы
Такая проблема возникает достаточно часто и минимально зависит от модели вашего iPhone (за исключением очень старых), поэтому может случиться как на iPhone XR, так и на iPhone 13 Pro и даже iPad. Что можно сделать?

Обратите внимание на эти нюансы в работе Safari
- Отключите энергосбережение. Некоторые страницы бывают слишком «тяжелыми», а вдобавок не адаптированы под мобильные браузеры. В режиме экономии заряда смартфон не может их быстро загрузить из-за ограниченной мощности процессора.
- Очень часто проблема возникает при низком заряде батареи: обычно страницы постоянно перезагружаются, когда у iPhone остается менее 10% аккумулятора. Просто зарядите его.
- Очистите историю посещений или данные сайтов сразу или у каждого сайта по отдельности: для этого вам нужно зайти в Настройки — «Safari», после чего выбрать нужный вариант. Подойдет, если постоянно перезагружается только один сайт.
Кроме того, обратите внимание на то, что в iOS 15 в настройках Safari есть пункт «Автосохранение офлайн»: в этом режиме страницы из Списка для чтения сохраняются в открытом виде, поэтому их можно читать без интернета. Отключите этот пункт: по личным наблюдениям он также часто провоцирует постоянную перезагрузку страниц.
Как включить JavaScript в Cафари на Айфоне
Если у вас возникла проблема при просмотре веб-сайтов, вероятно, на iPhone отключен JavaScript. Напомню, это тип кода, который используется веб-сайтами, но иногда отключение режима в Safari приводит к ухудшению загрузки или появлению нерабочих элементов. Иногда его отключают при неправильном отображении сайтов и других неполадках или, наоборот, включают. Попробуйте и вы!

Включите JavaScript, чтобы Safari работал лучше
- Зайдите в Настройки.
- Выберите «Safari».
- Прокрутите страницу вниз и нажмите «Дополнения».
- Переключите ползунок возле пункта «JavaScript».
После этого закройте Safari и откройте его заново, перезапустив страницу. После включения страницы не только должны перестать постоянно обновляться, но и начнут работать правильно и без ошибок.
Почему вылетает Сафари на Айфоне

На что обратить внимание при использовании Safari?
Есть и другие причины, почему глючит Safari на Айфоне. Исправить их легко: вот они!
- Неправильная работа расширений: вероятнее всего, могут конфликтовать два похожих, например, блокировщики рекламы, поэтому одно лучше удалить. Также обратите внимание на то, которое устанавливали последним — вероятно, оно работает неправильно.
- Пользуетесь бета-версиями iOS? Зачастую они оказываются сырыми, поэтому откатитесь на стабильную версию.
- Проверьте объем свободного места на iPhone: когда хранилище заполнено, смартфон начинает работать хуже, в том числе, Safari уходит в бесконечную перезагрузку.
- Проверьте настройки сети: возможно, у вас слабое подключение к интернету или нужно обновить конфигурацию подключения. О том, как с этим справляться, мы писали в нашей статье.
Подпишитесь на наш Телеграм-канал, чтобы первыми узнавать горячие новости
Самое главное — не забывайте время от времени перезагружать iPhone. Постоянная перезагрузка страниц в Safari — то, от чего помогает этот способ. А какие проблемы еще решает перезагрузка iPhone — рассказали в нашем материале.
Не работают скрипты на iphone
Постоянно сталкиваюсь с тем, что некоторые скрипты не работают на iPhone. В частности сейчас столкнулся с такой проблемой, следующий скрипт не отрабатывает на iPhone разных моделей (проблема точно не в браузере, проверял в safari, chrome, yandex browser):
$(document).on('click', '.modal-layer__closure', function () < $(this).closest('.modal-layer').removeClass('active'); return false; >);
Может кто-то может пояснить причину и как впредь избежать подобных проблем?
Отслеживать
задан 30 мая 2018 в 1:55
Анатолий Шевелев Анатолий Шевелев
1,497 1 1 золотой знак 15 15 серебряных знаков 34 34 бронзовых знака
В чем ошибка.
30 мая 2018 в 2:01
По клику должно закрываться модальное окно, и всё отлично работает на всех устройствах кроме iphone, а как узнать причину сбоя я не знаю
30 мая 2018 в 2:03
Возможно у вас просто выключен javascript. А так, для отладки. почитайте, как отлаживать сайты через телефон.
30 мая 2018 в 2:16
javascript не выключен, большая часть скриптов работает нормально, кроме нескольких слушателей вроде приведенного выше
30 мая 2018 в 2:38
Данный код не зависит от телефона, а от версии библиотеки jquery . Скачайте debugger и смотрите в чем ошибка, а гадать никто не будет.
30 мая 2018 в 2:43
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Я нашёл причину ошибки:
на iOS устройствах событие click работает только для ссылок и (возможно) для элементов с атрибутом tabindex.
Я же навешивал слушатель на div элемент.
Оптимальный вариант: использовать для мобильной версии события touchstart, touchend и т.п.
Отслеживать
ответ дан 1 июн 2018 в 2:34
Анатолий Шевелев Анатолий Шевелев
1,497 1 1 золотой знак 15 15 серебряных знаков 34 34 бронзовых знака
даже на div можно вешать событие jquery click, достаточно добавить css свойство cursor:pointer
1 июн 2018 в 8:02
Возможно, но это совсем не очевидно, поэтому лучше использовать ‘touchend’
6 июн 2018 в 2:22
- javascript
- jquery
- iphone
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
