我了解到 Chrome 在添加新权限时会禁用扩展程序。
当我向扩展添加新功能时,我需要在permissions
列表。现在我知道我应该使用optional_permissions
.
我的问题是:
- 如果我将网站列表从
permissions
to optional_permissions
用户是否需要再次批准这些网站?或者只是我随着时间的推移添加的那些。
-
这些更改是否会导致扩展被禁用?:
A。我将网站添加到matches
条目的一部分content_scripts
b.我将网站添加到matches
条目的一部分externally_connectable
有没有办法定义externally_connectable
in optional_permissions
?
相关链接:chrome.permissions https://developer.chrome.com/extensions/permissions | 权限警告 https://developer.chrome.com/extensions/permission_warnings
Update:当 Chrome 禁用我的扩展程序时,我在清单中添加了一个网站content_scripts
> matches
and externally_connectable
with a matches
地点。后者在权限警告中显示了一个新行:"Communicate with cooperating websites"
。我不确定哪个更改导致了禁用,这就是我询问的原因externally_connectable
too.
为了测试当 Chrome 禁用扩展程序时我在 Chrome 网上应用店中创建了一个私有扩展程序。
我从一个简单的定义开始manifest.json
然后我一一添加字段和设置。对于每个测试,我:
- 已将新版本上传到商店
- 等待 Google 发布扩展(这花了很多时间!)
- 强制测试人员帐户上的扩展更新
- 写下结果
After 13 tests,这就是我发现的:
改变在manifest
禁用扩展
- 添加条目于
"content_scripts"
> "matches"
[警告: ”在 example.com 上读取和更改您的数据"]
- Adding
"externally_connectable"
> {"ids", "matches"}
[警告: ”与合作网站沟通"]
改变在manifest
没有禁用扩展(没有警告)
- Adding
"declarativeContent"
允许
- Adding
"optional_permissions"
> 所有主机
- 添加条目于
"externally_connectable"
> "ids"
(after externally_connectable
被接受)
- 添加条目于
"externally_connectable"
> "matches"
(after externally_connectable
被接受)
- 添加无权限主机条目
"externally_connectable"
> "matches"
(after externally_connectable
被接受)
- Adding
"incognito": "split"
- Adding
"content_security_policy"
> 脚本-src URL
- Adding
"web_accessible_resources"
另外,权限列出于权限警告#nowarning https://developer.chrome.com/extensions/permission_warnings#nowarning docs.
我可能做了一些愚蠢的测试,比如"web_accessible_resources"
,但我更喜欢这样,而不是让 Chrome 再次禁用我的扩展程序。
特殊测试
因为我要搬到optional_permissions
,列出的所有主机permissions
被删除。因此,我想知道当新更新不再具有有问题的权限时,禁用的扩展会发生什么情况:
更新1:添加了一个新主机"content_scripts"
> "matches"
=> 扩展已禁用
更新 2:有问题的主机已从"content_scripts"
=> 扩展再次启用
总而言之,如果您犯了错误,您可以发布新版本,回滚导致扩展被禁用的更改.
如果我将网站列表从permissions
to optional_permissions
用户是否需要再次批准这些网站?或者只是我随着时间的推移添加的那些。
答案很简单,不。随着时间的推移,Chrome 会存储授予该扩展程序的所有权限。因此,只有新主机optional_permissions
需要得到批准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)