Де читати консольні повідомлення з background.js у розширенні Chrome?


195

Я тільки почав з розширень Google Chrome, і я не можу ввійти до консолі з мого фонового js. Якщо виникає помилка (наприклад, через синтаксичну помилку), я також не можу знайти жодних повідомлень про помилки.

Мій файл маніфесту:

{
  "name": "My First Extension",
  "version": "1.0",
  "manifest_version": 2,
  "description": "The first extension that I made.",
  "browser_action": {
    "default_icon": "icon.png"
  },
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "pageCapture",
    "tabs"
  ]
}

background.js:

alert("here");
console.log("Hello, world!")

Коли я завантажую розширення, з'являється сповіщення, але я не бачу нічого, щоб увійти до консолі. Що я роблю неправильно?



Виберіть повідомлення або інформацію, якщо виділена смужка є на інших вкладках, як Немає багатослівної обраної вкладки
Siluveru kiran kumar

Відповіді:


377

Ти дивишся в неправильне місце. Повідомлення консолі, що зареєстровані, відображаються не на веб-сторінці, а на (невидимій) фоновій сторінці. Щоб побачити ці повідомлення в консолі, виконайте наступні дії:

Відвідати chrome://extensions/.
Ви також можете клацнути правою кнопкою миші піктограму розширення, а потім натиснути кнопку "Керування розширеннями".

  1. Увімкнути режим розробника
  2. Клацніть на посилання вашої фонової сторінки (у розділі "Переглянути види").
  3. На цій сторінці відкриється консоль розробника .

Новий інтерфейс користувача:

введіть тут опис зображення введіть тут опис зображення

Старий інтерфейс користувача:

зображення


@RobW, у мене немає трикутної кнопки для розширення розширення і не бачу активних представлень. Чи ця відповідь вже не є рішенням для останньої збірки Chrome чи я щось пропускаю?
gwg

1
@ggundersen Я оновив зображення. Трикутник видалено, цей крок зараз автоматично відбувається, коли активовано режим розробника.
Роб Ш

як тоді ви налагоджуєте скрипти вмісту?
SuperUberDuper

1
@SuperUberDuper Через devtools на вкладці, де працює сценарій вмісту.
Rob W

13

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

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


7

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

введіть тут опис зображення


5

додатково

якщо ви хочете побачити content_scriptфайл js (коли властивість "background" не встановлено) в manifest.json

"content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["popup.js"],
  }]

"browser_action": {
    "default_icon": "icon_32.png",
    "default_popup": "popup.html"
  }

потім клацніть правою кнопкою миші на піктограму розширення та натисніть на Перевірити спливаюче вікно та відкриється вікно розробника з відкритим вікном popup.html, там ви побачите вкладку консолі.


9
1) Це не відповідає на питання, 2) Це просто неправильно; скрипт вмісту записує повідомлення в консоль сторінки, в яку вводиться, тобто фактичну вкладку браузера. Я вважаю, що у вашому коді popup.jsбуло повторно використане в popup.htmlі, як такий, вихід цієї копії спрямовується на вказане вами місце. Але це абсолютно вводить в оману.
Ксан

2
ця відповідь допомагає мені перевірити журнал хромованого розширення, який працює як спливаюче вікно
RashFlash

1

Подібно до відповіді Мічіеля, я також мав кумедну конфігурацію консолі: Фільтр, який я не пам'ятаю, налаштування:

введіть тут опис зображення

Після очищення фільтра я побачив повідомлення.


1

Якщо ми хочемо читати повідомлення, надруковані для консолі зі спливаючої сторінки, ми можемо натиснути значок розширення, щоб відкрити спливаючу сторінку, а потім натиснути правою кнопкою миші на спливаючу сторінку де завгодно, з'явиться спадне меню, ми просто натиснемо меню "Перевірити", щоб відкрити інструмент для розробника. Зауважте, що спливаючу сторінку потрібно постійно відкривати. Якщо він закритий (by window.close ()), інструмент для розробників також буде закритий.


0

У мене була і ця проблема. Схоже, моя веб-сторінка не оновлювалася до нещодавно збереженого сценарію. Це було вирішено натисканням кнопки Ctrl+ refresh (або Ctrl+ F5) у браузері Chrome.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.