无法使用chrome_settings_overrides覆盖搜索提供商

时间:2016-08-27 04:16:08

标签: google-chrome google-chrome-extension

我在manifest.json后面Google's instructions发出以下声明:

{
  ...
  "chrome_settings_overrides": {
    "search_provider": {
      "name": "My Name",
      "keyword": "My Keyword",
      "favicon_url": "icon32.png",
      "search_url": "http://example.com/Home/Search?keyword={searchTerms}",
      "encoding": "UTF-8",
      "is_default": true
    }
  },
  ...
}

但是,我根本无法加载该部分的清单(删除它会使其工作)。收到的消息是:

  

无法从以下位置加载扩展程序:   d:\镀铬\ SearchExtensions   的空字典

我做错了什么?这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

文档说明了"favicon_url"

  如果设置了prepopulated_id,则只能省略

根据铬source code"favicon_url" 必须是完全限定的http或https网址:

if (!CreateManifestURL(*overrides->search_provider->favicon_url)) {
  *error = ...
.........................................
// CreateManifestURL function:
if (!manifest_url->is_valid() ||
    !manifest_url->SchemeIsHTTPOrHTTPS())
  return std::unique_ptr<GURL>();  // <<<< returns an empty value that sets the error