在声明了代理权限的扩展中缺少chrome.proxy

时间:2016-06-07 00:05:24

标签: javascript google-chrome google-chrome-extension proxy

我正在开发使用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"
  ]
}

这实际上在四月中旬工作,但现在加载它(在我的浏览器中和同事中),chrome代理api永远不可用(即使切换到扩展/ content.js上下文)在chrome dev控制台中) - chrome.proxy只是未定义。

文档没有提及,但chrome.proxy API已被弃用?

1 个答案:

答案 0 :(得分:0)

基于What's New in Extensions,从Google Chrome 13开始, chrome.proxy API 依赖于ChromeSetting prototype of the type API来获取和设置代理配置。

在Chrome设置文档中,声明:

  

ChromeSetting原型提供了一组常用功能(// or module.exports, whichever one you're using. export default ajaxForm(AjaxFormContents) get()set())以及用于Chrome浏览器设置的事件发布者(clear()

Chrome区分浏览器设置的三种不同范围,并且还按照优先顺序递增,管理可能影响有效设置的不同图层上的设置。

  1. 操作系统提供的系统设置
  2. 命令行参数
  3. 扩展程序提供的设置
  4. 策略
  5.   

    如清单所示,政策可能会否决您使用扩展程序指定的任何更改。您可以使用onChange功能确定您的分机是否能够提供设置或是否覆盖此设置。

    请尝试浏览文档以获取有关代理配置更改的更多详细信息。