google-chrome - 无法使用 chrome_settings_overrides 覆盖搜索提供程序

标签 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
    }
  },
  ...
}

但是,我根本无法加载包含该部分的 list (删除它会使它起作用)。收到的消息是:

Failed to load extension from: D:\Chrome\SearchExtensions Empty dictionary for 'chrome_settings_overrides'.

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

最佳答案

文档说“favicon_url”:

may only be omitted if prepopulated_id is set.

并且 “favicon_url” 必须 是一个完全合格的 http 或 https url,根据 chromium source code :

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

关于google-chrome - 无法使用 chrome_settings_overrides 覆盖搜索提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177401/

相关文章:

jquery - Chrome v.36 中的动画错误?

css - 最大的媒体查询(最小宽度 :1020px) keeps overriding smallest media query's (max-width:599px) flex-direction value

javascript - Kendo 拖放似乎在 Surface Pro 3 上的 Chrome 中不起作用

javascript - 自定义事件细节 "tainted"?

google-chrome - Chrome 扩展 options.js 通知 content_script.js 设置更改

javascript - chrome 内容脚本 : window. postMessage() "message"事件不包含 "source"属性

html - 使嵌入的 Youtube 视频缩略图可打印(@media print)

javascript - 在不影响日志行的情况下扩展 console.log

javascript - XMLHttpRequest 在 Chrome 扩展中修改了 Accept header

javascript - 不能依赖 chrome.tabs.move 中的索引