Використання консолі JavaScript. Консоль розробника Google Chrome: десять неочевидних корисностей

Більшість веб-розробників при налагодженні програм використовують Google Chrome – це вже ні для кого не секрет. Насамперед у цьому браузері залучають просунуті кошти для розробників. Одним із елементів devtoolє консоль, яка у свою чергу набагато більш просунута, ніж думають про неї більшість розробників.

Консоль Google Chromeвміє набагато більше, ніж console.log(). Я опишу деякіможливості, які сам застосовую найчастіше.

Похідні console.log()

Виклик console.log() дозволяє відображати повідомлення в консолі.

Var e = (x: 5); console.log("Log message", e);

Виклики info() , warn() і error() дозволяють зробити те саме, візуально виділивши повідомлення відповідним стилем. Буває дуже корисно, коли в процесі налагодження накопичується велика кількістьповідомлень і важко виділити якісь ключові повідомлення.

Var e = (x: 5); console.log("Hello! I`m a message", e); console.info("Something happened...", e); console.warn("Wow! You defenitely should pay attention here!", e); console.error("Ooooooops....", e);

Другим параметром я передав змінну e, вміст якої також відобразився в консолі. Chrome дозволяє передавати скільки завгодно параметрів, якщо вам потрібно відобразити не лише повідомлення, а й стан будь-яких змінних.

Таблиці

За промовчанням консоль відображає вміст об'єкта у вигляді дерева. Це зручно, т.к. ви можете приховувати/розкривати потрібні частини об'єкта та відстежувати інформацію. Незручності виникають коли вам потрібно відобразити, наприклад, вміст масиву. У цьому випадку ви отримаєте щось подібне:


Замість console.log() у цьому випадку зручніше використовувати console.table() , як це виглядає:

Var elements = [ ( id: 1, x: "Lorem", y: "ipsum"), ( id: 2, x: "dolor", y: "sit"), ( id: 3, x: "amet" , y: "consectetur"), (id: 4, x: "adipiscing", y: "elit"), (id: 5, x: "sed", y: "do")]; console.table(elements);

Як видно зі скріншоту, виклик console.table() відображає масив не тільки у вигляді таблиці, а й у вигляді дерева, як виклик console.log() .

Угруповання

Коли повідомлення в консолі йдуть потоком один за одним, буває корисно об'єднувати їх у групи. Це робиться шляхом виклику методів console.group() і console.groupEnd() .

Console.group("Message processing"); console.log("Message processing started...") console.warn("Error during processing list element."); console.log("Done"); console.groupEnd(); console.group("Image processing"); console.log("Image processing started...") console.info("Image size: 500Kb"); console.log("Done"); console.groupEnd();

Якщо замість console.group() викликати console.groupCollapsed() , повідомлення в консолі будуть згорнуті під час відображення.

Console.group("Message processing"); console.log("Message processing started...") console.warn("Error during processing list element."); console.log("Done"); console.groupEnd(); console.groupCollapsed("Some other stuff"); console.log("Blah"); console.info("Blah"); console.warn("Blah"); console.groupEnd(); console.group("Image processing"); console.log("Image processing started...") console.info("Image size: 500Kb"); console.log("Done"); console.groupEnd();

Перевірка тверджень

Ассерти - це поширений метод перевірки затвердження різних мовахпрограмування. Консоль Google Chromeтакож надає таку можливість. Щоб виконати перевірку, потрібно викликати console.assert() із двома параметрами: перший - перевірена умова, другий - повідомлення про помилку. Якщо умова, що перевіряється, хибна, то в консолі з'явиться повідомлення про помилку, інакше нічого не станеться.

Console.assert(1000 > 10, "It`s true, so nothing will happen at console."); console.assert(25< 10, "25 is not less than 10!");

Підрахунок кількості дзвінків

Коли одне й те повідомлення з'являється в консолі кілька разів, буває зручно вести підрахунок скільки разів це сталося. З цим чудово справляється console.count().

Console.count("Something happened"); console.count("Something happened"); console.count("Something happened"); console.count("Something happened"); console.count("Something happened"); console.count("Something happened"); console.count("Something happened"); console.count("Something happened");

Відображення стека дзвінків

Коли при налагодженні програми потрібно переглянути стек викликів, часто використовують точки зупинки та налагодження. Особисто мені це незручно, я волію відобразити стек у консолі. Я знаю, що для цього деякі використовують як такий:

Console.log(new Error().stack);

Але насправді в Chromeдля цього є спеціальний метод console.trace().

Function f1() ( console.trace("f1"); ) function f2() ( f1(); ) function f3() ( f2(); ) f3();

У цьому випадку в консолі з'явиться доступний стек дзвінків. І жодних хаків:-)

Форматування

Chrome дозволяє використовувати підстановки у виразах аналогічно тому, як це робиться в string.Format() C# або println() C .

Console.log("Current value: %d", 500);

У цьому прикладі %d означає, що тут підставляється число. Список доступних значень:

  • %s - рядок
  • %i , %d - ціле число
  • %f - дробове число
  • %o - DOM-елемент
  • %O - JavaScript-об'єкта

На окрему увагу заслуговує %c - якщо вказати його при викликі console.log() , то в параметрах можна передати набір CSS-стилів, які будуть використовуватися при відображенні.


Бонус - $0

Якщо у вкладці Elements виділити якийсь елемент у DOM, то до нього можна звернутися через $0 у консолі. Це дуже зручний спосіб, коли потрібно швидко виконати якісь маніпуляції з DOM-елементом.


Приклад роботи із $0.

Багато користуються браузерами, що роблять нас одним цілим з глобальною мережею інтернет. Однак, як влаштовані інтернет-сторінки, як їх написати самому - це інформація лише для тих, хто хоче створювати щось нове. Всі ці можливості ховаються для звичайних користувачів, все через міркування простоти та інтуїтивності, проте в цій статті ми розберемо тому, як у браузері «Яндекс» відкрити консоль, для чого вона створювалася, яку мову підтримує. Стаття рекомендується користувачам не тільки «Яндекс»-браузера

Для чого потрібна консоль у браузері

Усього є три причини для створення консолі в браузері:

  • Для налагодження самого браузера ще на стадії проектування.
  • Для навчання молодих фахівців функцій того чи іншого браузера.
  • Для налагодження професіоналами своїх інтернет-сторінок в реальному часі.
  • Мало хто знає, але свій сайт можна написати, використовуючи всього 2 речі: знання і блокнот. Однак, такий спосіб загрожує надзвичайно витратою власного часу, тому що вам доведеться перезберігати документ після кожної зміни будь-яких параметрів. На допомогу приходить спеціальна консоль налагодження - це деяке поле браузера, в якому міститься абсолютно вся інформація про сторінку і її вихідний код. Досліджуючи його, можна знайти багато чого цікавого, у тому числі і помилки розробників. Щоб не вчиняти помилки, використовують консоль браузера.

    Припустимо, що ви створили інтернет-сторінку, але вам необхідно підігнати картинку під необхідні розміри, на вихід приходить в консоль, в якій є можливість налагодження сторінки в реальному часі, що дуже сильно економить час і сили. У наступній частині статті ми розповімо, як у браузері «Яндекс» відкрити консоль. Дані знання обов'язково допоможуть вам, якщо ви початківець веб-майстра.

    Як відкрити консоль розробника в «Яндексі»

    Для відкриттів консолі потрібно спеціальне поєднання клавіш. Якщо почитати документацію до будь-якого браузера, то можна виявити, що користуватися мишкою навіть не обов'язково. Існує неймовірна кількість сполучення клавіш, здатних виконати будь-яке ваше бажання.

    Інструкція про те, як у браузері «Яндекс» відкрити консоль:

  • Запустіть браузер від «Яндекса», після чого дочекаєтеся його повного завантаження в оперативну пам'ять, це займе всього лише кілька секунд.
  • Тепер відкрийте будь-яку сторінку, наприклад, Google, але це зовсім неважливо, підійде будь-яка.
  • Для відкриття інструментів "Яндекс" натисніть наступні клавіші: "Ctrl + Shift + I"
  • Якщо ви хочете працювати саме з JavaScript - це така мова програмування, то необхідно затиснути наступні клавіші: «Ctrl + Shift + J»
  • Однак, у різних браузерах відрізняються способи відкриття консолі, тому в наступному пункті ми пройдемо найпопулярнішими браузерами.

    Відкриття консолі в інших браузерах

    Для початку варто повідомити: не намагайтеся використовувати одні і ті ж комбінації клавіш на різних браузерах. Було чимало випадків, коли користувачі помилково видаляли всі свої закладки, а повернути їх буває досить проблематично, а іноді й неможливо. Тому нижче будуть наведені приклади того, як відкривати консолі правильно.

  • Google Chrome. Є два варіанти: зайти в налаштування, де буде кнопка відкриття консолі, або натиснути комбінацію клавіш «Ctrl + Shift + I».
  • Opera. У меню «Засоби розробки» буде кнопка «Вихідний код», або ж сполучення клавіш «Ctrl + U».
  • Firefox. У налаштуваннях браузера, або "Ctrl + Shift + J".
  • Safari. F12, або зайти в «Доповнення», де буде «Показувати мене для розробника»
  • На закінчення

    Сподіваємося, що дана стаття допомогла вам зрозуміти те, як відкрити у браузері «Яндекс» консоль. Дані знання особливо допоможуть студентам, молодим розробникам, а також звичайним користувачам, що бажають дізнатися про комп'ютерні технології трохи більше, адже вони - майбутнє нашого світу.

    |

    Сучасні браузеринадають вбудовані інструменти розробки для JavaScript та інших технологій. Серед цих інструментів можна знайти консоль, яка схожа на інтерфейс оболонки, а також інструменти для перевірки DOM, налагодження та аналізу мережної активності.

    Консоль можна використовувати для реєстрації інформації як частини процесу розробки JavaScript. Також консоль дозволяє взаємодіяти з веб-сторінкою, виконуючи вирази JavaScript у контексті сторінки. По суті консоль надає можливість писати код JavaScript і при необхідності керувати ним.

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

    Робота з консоллю JavaScript у браузері

    Більшість сучасних веб-браузерів, що підтримують HTML і XHTML, за промовчанням надають доступ до консолі розробника, де ви можете працювати з JavaScript в інтерфейсі, подібному до оболонки терміналу. У цьому розділі ви дізнаєтесь, як отримати доступ до консолі Firefox і Chrome.

    Браузер Firefox

    Ці інструменти дозволяють перевіряти та редагувати елементи DOM, а також шукати об'єкти HTML, пов'язані з конкретною сторінкою. DOM може показати, чи має фрагмент тексту чи зображення атрибут ID, і може визначити значення атрибута.

    Крім того, у бічній панелі або під панеллю DOM можна знайти стилі CSS, які використовуються у документі HTML або таблиці стилів.

    Щоб відредагувати DOM у реальному часі, двічі клацніть по вибраному елементу. Для прикладу можете спробувати перетворити тег

    в

    .

    Знову ж таки, після оновлення сторінка набуде колишнього вигляду.

    Вкладка Network

    Вкладка Network дозволяє моніторити та записувати мережні запити. У цій вкладці відображаються запити мережі браузера, у тому числі запити для завантаження сторінки, час обслуговування запитів та відомості про кожен з них. Ці дані можна використовувати для оптимізації продуктивності завантаження сторінки та налагодження запитів.

    Використовувати вкладку Network можна разом із консоллю JavaScript. Наприклад, можна розпочати налагодження сторінки за допомогою консолі, а потім відкрити вкладку Network і переглянути мережну активність, не перезавантажуючи сторінку.

    Чуйний дизайн

    Сайти з чуйним дизайном швидко адаптують свій вигляд та функції на різних пристроях: мобільних телефонах, планшетах, настільних комп'ютерах та ноутбуках. Розмір екрану, щільність пікселів та відповідь на дотики – фактори, які слід враховувати під час розробки адаптивних сайтів. Також принципи чуйного дизайну важливо враховувати, щоб веб-сайт був доступним і продуктивним незалежно від пристрою, на якому його відкривають.

    Сучасні браузери (в тому числі Firefox та Chrome) надають моделі дотримання принципів чуйного дизайну при розробці сайтів та додатків. Ці моделі емулюють поведінку того чи іншого пристрою, що дозволяє протестувати та проаналізувати всі функції сайту.

    Більше про це можна дізнатися у посібниках браузерів:

    • Responsive Design Mode у Firefox

    Висновок

    У цьому посібнику представлений короткий оглядроботи з консоллю JavaScript у сучасних веб-браузерах. Також тут можна знайти інформацію про інші корисні інструменти розробки.

    Багато хто користується браузерами, які роблять нас одним цілим глобальною мережеюІнтернет. Однак, як влаштовані інтернет-сторінки, як їх написати самому – це інформація лише для тих, хто хоче створювати щось нове. Всі ці можливості ховаються для звичайних користувачів, все через міркування простоти та інтуїтивності, проте в даній статті ми розберемо тему того, як у браузері «Яндекс» відкрити консоль, для чого вона створювалася, яку мову підтримує та багато іншого. Стаття рекомендується користувачам не лише «Яндекс»-браузера

    Для чого потрібна консоль у браузері

    Усього є три причини для створення консолі у браузері:

    1. Для налагодження самого браузера ще на стадії проектування.
    2. Для навчання молодих спеціалістів функцій того чи іншого браузера.
    3. Для налагодження професіоналами своїх інтернет-сторінок у реальному часі.

    Мало хто знає, але свій сайт можна написати, використовуючи всього 2 речі: знання та блокнот. Однак, такий спосіб загрожує надзвичайно витратою власного часу, тому що вам доведеться перезберігати документ після кожної зміни будь-яких параметрів. На допомогу приходить спеціальна консоль налагодження - це поле браузера, в якому міститься абсолютно вся інформація про сторінку і її вихідний код. Досліджуючи його, можна знайти багато цікавого, у тому числі й помилки розробників. Щоб не помилятися, використовують консоль браузера.

    Припустимо, що ви створили інтернет-сторінку, але вам необхідно підігнати картинку під необхідні розміри, на вихід приходить в консоль, в якій є можливість налагодження сторінки в реальному часі, що дуже заощаджує час і сили. У наступній частині статті ми розповімо, як у браузері "Яндекс" відкрити консоль. Дані знання обов'язково допоможуть вам, якщо ви початківець веб-майстер.

    Як відкрити консоль розробника в «Яндексі»

    Для відкривання консолі потрібно спеціальне поєднання клавіш. Якщо почитати документацію до будь-якого браузеру, то можна виявити, що користуватися мишкою навіть не обов'язково. Існує неймовірна кількість поєднань клавіш, здатних виконати будь-яке ваше бажання.

    Інструкція про те, як у браузері «Яндекс» відкрити консоль:

    1. Запустіть браузер від «Яндекса», після чого дочекайтеся його повного завантаження оперативну пам'ять, це займе лише кілька секунд.
    2. Тепер відкрийте будь-яку інтернет-сторінку, наприклад Google, але це зовсім неважливо, підійде будь-яка.
    3. Для відкриття інструментів "Яндекс" натисніть такі клавіші: "Ctrl + Shift + I"
    4. Якщо ви хочете працювати саме з JavaScript - це така мова програмування, то необхідно буде затиснути такі клавіші: "Ctrl + Shift + J"

    Однак, у різних браузерахвідрізняються способи відкриття консолі, тому в наступному пункті ми пройдемо по самих популярним браузерам.

    Відкриття консолі в інших браузерах

    Для початку варто повідомити: не намагайтеся використовувати ті самі комбінації клавіш на різних браузерах. Було чимало випадків, коли користувачі помилково видаляли свої закладки, а повернути їх буває досить проблематично, а іноді й неможливо. Тому нижче буде наведено приклади того, як відкривати консолі правильно.

    1. Google Chrome. Є два варіанти: зайти в налаштування, де буде кнопка відкриття консолі, або натиснути клавіші Ctrl + Shift + I.
    2. Opera. У меню "Кошти розробки" буде кнопка "Вихідний код", або ж поєднання клавіш "Ctrl + U".
    3. Firefox. У налаштуваннях браузера, або "Ctrl + Shift + J".
    4. Safari. F12, або зайти в «Додатки», де «Показуватиме меню для розробника»

    На закінчення

    Сподіваємося, що ця стаття допомогла вам зрозуміти, як відкрити в браузері «Яндекс» консоль. Дані знання особливо допоможуть студентам, молодим розробникам, а також звичайним користувачам, що бажають дізнатися про комп'ютерні технологіїтрохи більше, адже вони - майбутнє нашого світу.

    API командного рядка Chrome DevTools містить велику кількість зручних функцій для виконання простих завдань: вибору та перевірки елементів DOM, відображення даних у читаному форматі, запуску та перевірки профілювача та моніторингу подій DOM.

    Примітка:цей API доступний лише всередині консолі. Отримати доступ до командному рядку API зі скриптів на сторінці не можна.

    $_

    $_ повертає значення останнього виконаного виразу.

    У прикладі нижче виконується простий вираз (2+2). Потім виконується $_ , якому присвоюється те саме значення:

    У цьому прикладі виконаний вираз містив масив імен. Виконання $_.length дасть довжину масиву, а сам вираз $_ набуде значення останнього виконаного виразу, тобто 4:

    $0 – $4

    Команди $0 , $1 , $2 , $3 та $4 працюють як посилання на останні 5 елементів DOM, які були переглянуті на панелі Elements, або на останні 5 JS-об'єктів з купи, які були вибрані в панелі Profiles. $0 повертає елемент або об'єкт, вибраний пізніше за всіх, $1 повертає той, що був перед ним, і так далі.

    У прикладі нижче в панелі Elements вибрано елемент класу medium. У консолі $0 прийняв таке ж значення:

    На малюнку нижче вибрано інший елемент на тій самій сторінці. $0 тепер відноситься до цього елемента, а $1 - до попереднього:

    $(selector)

    $(selector) повертає посилання на перший елемент DOM із зазначеним CSS-селектором. Ця функція - скорочення для document.querySelector() .

    Клацніть правою кнопкою миші за результатом і виберіть "Reveal in Elements Panel" для пошуку елемента в DOM або "Scroll in to View" для того, щоб побачити його на сторінці.

    Примітка:Якщо ви використовуєте бібліотеки на зразок jQuery, які використовують символ $, то буде використовуватися функціональність цієї бібліотеки.

    $$(selector)

    $$(selector) повертає масив елементів, що містять вказаний селектор. Ця команда еквівалентна виклику document.querySelectorAll() .

    Наступний приклад використовує $$() для створення масиву з усіх елементів у документі та повертає властивість src кожного елемента:

    Var images = $$("img"); for (each in images) ( console.log(images.src); )

    Примітка:Натисніть в консолі Shift+Enter для переходу на новий рядокбез виконання скрипту.

    $x(path)

    $x(path) повертає масив елементів, які задовольняють даному виразу XPath.

    Цей приклад поверне всі елементи

    $x("//p")

    А цей – усі елементи

    Містить елемент :

    $x("//p[a]")

    clear()

    clear() очищає історію консолі.

    Clear();

    copy(object)

    copy(object) копіює рядкове представлення зазначеного об'єкта буфер обміну.

    Copy($0);

    debug(function)

    При виклику цієї функції викликається наладчик, який дозволяє покроково виконати в панелі Sources.

    Debug (getData);

    Використовуйте undebug(fn) для завершення налагодження або інтерфейс для видалення всіх точок зупинки.

    dir(object)

    dir(object) відображає список всіх властивостей зазначеного об'єкта. Цей метод - заміна методу console.dir().

    Наступний приклад показує різницю між викликом document.body у командному рядку та використанням dir() для відображення того ж елемента:

    Document.body; dir(document.body);

    Щоб отримати додаткові відомості, перегляньте розділ console.dir() в консолі API.

    dirxml(object)

    dirxml(object) виводить XML-подання вказаного об'єкта. Цей метод еквівалентний методу console.dirxml().

    inspect(object/function)

    inspect(object/function) відкриває та вибирає зазначений елемент або об'єкт у відповідній панелі: Elements або Profiles.

    Цей приклад відкриває document.body на панелі Elements:

    Inspect(document.body);

    Під час передачі функції вона відкриває документ на панелі Sources.

    getEventListeners(object)

    getEventListeners(object) повертає всі слухачі подій, прив'язані до зазначеного об'єкта. Значення, що повертається - об'єкт, що містить масиви для всіх знайдених типів подій (наприклад, "click" або "keydown"). Елементи кожного масиву – це об'єкти, які описують слухач кожного типу. Наприклад, наступний приклад виведе усі слухачі подій об'єкту document:

    GetEventListeners(document);

    Якщо до об'єкта прив'язано більше одного слухача, масив містить елементи для кожного з них. Наприклад, тут до елемента #scrollingList прив'язані два слухачі події "mousedown":

    Можна переглянути властивості кожного з цих об'єктів:

    keys(object)

    keys(object) повертає масив імен властивостей об'єкта. Для отримання значення властивостей використовуйте values().

    Припустимо, у вашому додатку оголошено наступний об'єкт:

    Var player1 = ( "name": "Ted", "level": 42 )

    Нехай player1 оголошено глобально, тоді keys(player1) та values(player1) виведе наступне:

    monitor(function)

    При викликі вказаної функції в консоль виводиться повідомлення про те, що ця функція була викликана з відповідними аргументами.

    Function sum(x, y) (return x + y;) monitor(sum);

    Для скасування використовуйте unmonitor(function).

    monitorEvents(object, )

    Коли одна із зазначених подій відбувається із зазначеним об'єктом, об'єкт Event записується в консоль. Можна вказати конкретну подію, масив подій чи одну з «типів» подій. Приклади нижче.

    Наступний запит моніторить усі зміни розміру об'єкта window.

    MonitorEvents(window, "resize");

    Цей запит моніторить усі події "resize" and "scroll" в об'єкті window:

    MonitorEvents(window, ["resize", "scroll"])

    Ви також можете задати один з доступних типів подій з таблиці нижче:

    Наприклад, у цьому запиті моніторяться всі події типу "key" у вибраному елементі на панелі Elements:

    MonitorEvents($0, "key");

    Ось приклад виведення після набору символів у текстовому полі:

    profile() та profileEnd()

    Для запуску профілювання:

    Profile("My profile")

    Для закінчення:

    ProfileEnd("My profile")

    Профілі також можуть бути вкладеними:

    Profile("A"); profile("B"); profileEnd("A"); profileEnd("B");

    Результат:

    Примітка:Профілювальники можуть працювати одночасно, та їх необов'язково закривати у порядку створення.

    table(data, )

    Виведення даних об'єкта у форматі таблиці. Наприклад, для виведення списку імен потрібно зробити таке:

    Var names = ( 0: ( firstName: "John", lastName: "Smith" ), 1: ( firstName: "Jane", lastName: "Doe" ) ); table(names);

    undebug(function)

    undebug(function) припиняє налагодження заданої функції.

    Undebug(getData);

    unmonitor(function)

    unmonitor(function) припиняє моніторинг заданої функції.

    Unmonitor(getData);

    unmonitorEvents(object, )

    unmonitorEvents(object, ) припиняє моніторинг зазначеного об'єкта та подій:

    UnmonitorEvents(window);

    Також можна припиняти моніторинг окремих подій:

    MonitorEvents($0, "mouse"); unmonitorEvents($0, "mousemove");

    values(object)

    values(object) повертає масив, що містить значення всіх властивостей зазначеного об'єкта.



    gastroguru 2017