217

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!")

拡張機能をロードすると、アラートが表示されますが、コンソールに何も記録されていません。私は何が間違っているのですか?

4

8 に答える 8

411

あなたは間違った場所を見ています。これらのコンソール メッセージは Web ページには表示されませんが、非表示のバックグラウンド ページ (ManifestV2) またはサービス ワーカー (ManifestV3) に表示されます。

正しいコンソールを表示するには、バックグラウンド スクリプトのコンテキストの devtools を開きます。

  1. 拡張機能のアイコンにアクセスchrome://extensions/するか右クリックして、[拡張機能の管理] を選択します。
  2. 開発者モードを有効にする
  3. background page(ManifestV2) または(ManifestV3)という名前のリンクをクリックしservice workerます。

ManifestV2 拡張機能のスクリーンショット:

ここに画像の説明を入力

ここに画像の説明を入力

ManifestV3 拡張機能のスクリーンショット:

ここに画像の説明を入力

于 2012-04-21T10:12:34.457 に答える
16

私は同じ問題を抱えていました。私の場合、Chrome 開発者ツールのコンソール タブでログが「すべて非表示」に設定されていました。これがオプションであることさえ知らなかったし、それをオフにしたことを覚えていない

Chrome 開発ツールのコンソール タブの設定のスクリーンショット

于 2017-08-10T09:54:10.930 に答える
8

さらに

manifest.jsoncontent_scriptで js ファイル (「background」プロパティが設定されていない場合)を見たい場合

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

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

次に、拡張機能のアイコンを右クリックしてInspect popupをクリックすると、開発者ウィンドウが popup.html を開いた状態で開き、そこにコンソール タブが表示されます。

于 2014-10-14T11:03:26.623 に答える
3

Michiel の回答と同様に、面白いコンソール構成もありました: 設定を覚えていないフィルター:

ここに画像の説明を入力

フィルターをクリアした後、メッセージを見ました。

于 2019-06-10T22:44:02.953 に答える
0

他の回答は background.js で機能しますが、ポップアップから console.logs を探している場合は、次を試すことができます。

var bkg = chrome.extension.getBackgroundPage();
bkg.console.log('foo');

私はcraを使用して開発していましたが、これでうまくいきました。

于 2021-09-23T18:25:49.090 に答える