Где читать консольные сообщения из 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 Я обновил картинку. Треугольник был удален, этот шаг теперь происходит автоматически, когда активирован режим разработчика.
Роб W

как вы отлаживаете контентные сценарии?
SuperUberDuper

1
@SuperUberDuper Через devtools на вкладке, где выполняется скрипт контента.
Роб W

13

У меня была такая же проблема, в моем случае было установлено «Скрыть все» на вкладке консоли в инструментах разработчика Chrome. Я даже не понял, что это был вариант, и я не помню, чтобы отключить его

снимок экрана настройки на вкладке консоли в инструментах Chrome Dev


7

Для последователей, которые хотят увидеть консоль отладки для «сценария содержимого» своего расширения chrome, она доступна, выполнив обычную «show developer console», затем используйте стрелку раскрывающегося меню, чтобы выбрать ее «среду 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"
  }

затем щелкните правой кнопкой мыши значок расширения и нажмите всплывающее окно Inspect, и откроется окно разработчика с открытым popup.html, там вы увидите вкладку консоли.


9
1) Это не отвечает на вопрос, 2) Это просто неправильно; Сценарий содержимого регистрирует сообщения в консоли страницы, на которую он вставлен, то есть на вкладке браузера. Я полагаю, в вашем коде, popup.jsбыл повторно использован в popup.html, и, как таковой, вывод этой копии идет в место, которое вы упомянули. Но это полностью вводит в заблуждение.
Ксан

2
Этот ответ помогает мне проверить журнал расширения Chrome, который запускается как всплывающее окно
RashFlash

1

Как и в случае с Михелем, у меня была забавная консольная конфигурация: фильтр, который я не помню, установил:

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

После очистки фильтра я увидел сообщения.


1

Если мы хотим прочитать сообщения, напечатанные на консоли, со всплывающей страницы, мы можем щелкнуть значок расширения, чтобы открыть всплывающую страницу, затем щелкнуть правой кнопкой мыши на всплывающей странице в любом месте, появится раскрывающееся меню, мы просто нажимаем меню «Проверить», чтобы откройте инструмент разработчика. Обратите внимание, что всплывающая страница должна постоянно открываться. Если он закрыт (с помощью window.close ()), инструмент разработчика также будет закрыт.


0

У меня тоже была эта проблема. Кажется, что моя веб-страница не обновлялась до недавно сохраненного скрипта. Это было решено нажатием Ctrl+ обновить (или Ctrl+ F5) в браузере Chrome.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.