我正在开发一个使用proxy api的Chrome扩展程序。在我的清单中,我声明了示例中的权限:
{
"manifest_version": 2,
"version": "0.1",
"name": "My extension",
"content_scripts": [{
"matches": ["localhost"],
"js": ["content.js"],
"run_at": "document_start"
}],
"permissions": [
"proxy"
]
}
这实际上在4月中旬起作用了,但是现在加载它(在我的浏览器和同事的浏览器中),chrome代理API是永远不可用的(即使切换到chrome开发控制台的extension/content.js上下文)-chrome.proxy
只是未定义的。
文档没有提到它,但是chrome.proxy
API被弃用了吗?
2条答案
按热度按时间xyhw6mcr1#
基于What's New in Extensions,从Google Chrome 13开始,chrome.proxy API依赖于ChromeSetting类型API原型获取和设置代理配置。
在Chrome设置文档中,它指出:
ChromeSetting prototype提供了一组通用的函数(
get()
、set()
和clear()
)以及一个用于Chrome浏览器设置的事件发布器(onChange
)。Chrome区分浏览器设置的三种不同范围,并按优先级递增的顺序管理可能影响有效设置的不同层上的设置。
1.操作系统提供的系统设置
1.命令行参数
1.扩展提供的设置
1.政策
如列表所示,策略可能会否决您对扩展指定的任何更改。您可以使用
get()
函数来确定您的扩展是否能够提供设置,或者是否会覆盖此设置。请尝试浏览文档以了解有关代理配置更改的更多详细信息。
zdwk9cvp2#
找到答案了。您需要在popup.js中运行这些代码(基本上是在刷新时没有重新加载的代码,而是驻留在扩展中的代码)
完美的工作为我与下面的代码。
希望你能找到答案。