我总是在Chrome的控制台中收到此错误。
Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.
但是一切正常。
谁知道是什么原因造成的,我该如何解决?
我总是在Chrome的控制台中收到此错误。
Uncaught Error: chrome.tabs is not supported in content scripts. See the content scripts documentation for more details.
但是一切正常。
谁知道是什么原因造成的,我该如何解决?
Answers:
您不能chrome.tabs
在内容脚本中使用。根据文档,
...内容脚本有一些限制。他们不可以:
- 使用chrome。* API(部分chrome.extension除外)
- 使用扩展页面定义的变量或函数
- 使用网页或其他内容脚本定义的变量或函数
因此,您只能chrome.tabs
在后台页面或其他扩展页面中使用API。您可以使用扩展消息传递来请求使用后台页面chrome.tabs
。
这是由使用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
目录的路径组件数。在您的系统上可能会有所不同。
就我而言,我通过在管道上添加了另外几个细分来使搜索完全自动化:
$ 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
:
破产了