「Chrome.tabsはサポートされていません...」


15

このエラーはChromeのコンソールで常に表示されます。

Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.

しかし、すべてが正常に動作します。

誰がこれを引き起こしているのか、どうすれば解決できるのか知っていますか?

回答:


36

通常、原因は拡張機能の誤動作です。私の場合、「MeasureIt!」でした。どの拡張機能が問題を起こしているかを特定するには、次のいずれかを実行できます。

それらを1つずつ無効にしてテストします

  1. すべての拡張機能を無効にします
  2. エラーがなくなったことを確認する
  3. 拡張機能を1つずつ有効にします
  4. エラーが再び発生するかどうかをテストし、手順3から繰り返します

または

ソースコードを検索

  1. 開いた chrome://extensions
  2. 右上隅の「開発者モード」をアクティブにします
  3. 今、あなたはbackground.htmlすべての拡張機能を開くことができます
  4. Ctrl + F、「chrome.tabs」と入力して不審なコードスポットを検索します
  5. 拡張機能の作成者にフィードバックを与える

8
ナイスなもの:) 'Measureit!' 私も..
エディ

7

chrome.tabsコンテンツスクリプトでは使用できません。ドキュメントによると、

...コンテンツスクリプトにはいくつかの制限があります。彼らがすることはできません:

  • chrome。* APIを使用します(chrome.extensionの一部を除く)
  • 拡張機能のページで定義された変数または関数を使用します
  • Webページまたは他のコンテンツスクリプトによって定義された変数または関数を使用する

したがって、chrome.tabsバックグラウンドページまたは他の拡張ページでのみAPIを使用できます。拡張メッセージパッシングを使用して、バックグラウンドページでの使用を要求できますchrome.tabs


chrome.tabsを使用しているものがわかりません。Chrome拡張機能の1つになりますか?
8k_of_power

3
はい、このエラーはChrome拡張機能によってのみスローされます(現在)。

5
私にとっては、MeasureItでした!エラーの原因。
ジャスティンブル

@wengそれでもエラーが発生する場合は、グループ内のいくつかの拡張機能を無効にして、エラーが解消されるかどうかを確認してください。

MeasureIt!また、このエラーの原因です。他の人のコードをデバッグするのは面倒なので、私は今のところそれで耐えています。

1

これは、chrome.tabsアクセス許可を使用する拡張機能によって発生しますが、拡張機能manifest.jsonと共にパッケージ化されている場合は指定しません。トリックは、を使用する拡張機能を見つけることだけでchrome.tabsなく、通知せずに使用する拡張機能を見つけることです。

より自動化されたアプローチ(読みやすさのための複数行コマンド)から始めます。* nixの場合:

$ find . -type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq

Windowsでは、PowerShellを使用します。

> gci -rec |? {-not $_.PSIsContainer} `
>> | sls 'chrome.tabs' `
>> | select -Unique Path `
>> |% {$_.Path.Split('\')[10] } `
>> | select -Unique
>>

次にchrome://extensionsタブに移動して結果のディレクトリを拡張機能名に一致させ、それぞれのアクセス許可をクリックして、の使用法に違反していないユーザーを確認しますchrome.tabs。PowerShellスニペットの4行目では、「10」というインデックスが付けられていることに注意してください。これは、そこからディレクトリC:\へのパスコンポーネントの数だからExtensionsです。システムによって異なる場合があります。

私の場合、パイプラインにさらに2、3のセグメントを追加して、検索を完全に自動化しました。

$ find . type f \
> | xargs grep -l chrome.tabs \
> | cut -d '/' -f 2 \
> | uniq \
> | xargs -I % find % -name 'manifest.json' \
> | xargs grep -L tabs
hipbfijinpcgfogaopmgehiegacbhmob/16.0.544_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/17.1_0/manifest.json
hipbfijinpcgfogaopmgehiegacbhmob/18.1_0/manifest.json

今、見てchrome://extensions

ここに画像の説明を入力してください

逮捕。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.