通过脚本在Chrome上设置默认搜索提供程序

时间:2011-07-11 22:30:26

标签: google-chrome

我正尝试通过脚本(在OS X和Windows上)设置各种Google Chrome偏好设置。通过编辑用户的Application Data文件夹中的Preferences和Bookmarks json文件,我可以成功设置多个首选项并添加书签。但是,当我尝试设置新的默认搜索提供商时,浏览器会自动恢复为Google搜索。

首选项文件中的默认搜索提供程序节点如下所示:

"default_search_provider": {
    "enabled": true,
    "encodings": "UTF-8",
    "icon_url": "http://www.google.com/favicon.ico",
    "id": "2",
    "instant_url": "{google:baseURL}webhp?{google:RLZ}sourceid=chrome-instant&ie={inputEncoding}&ion=1{searchTerms}&nord=1",
    "keyword": "google.com",
    "name": "Google",
    "prepopulate_id": "1",
    "search_url": "{google:baseURL}search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=chrome&ie={inputEncoding}&q={searchTerms}",
    "suggest_url": "{google:baseSuggestURL}search?client=chrome&hl={language}&q={searchTerms}"
}

为了添加我想要的搜索提供程序,我只需手动添加它(通过扳手菜单),查看此操作对json文件的影响,然后编写一个脚本来模仿这些更改。但是,当我通过脚本更改它时,默认搜索提供程序将用于第一次搜索,但随后会在下次启动chrome时重置。我在这里缺少什么?

4 个答案:

答案 0 :(得分:5)

如上所述,您应该编辑'Web Data'文件,这是一个sqlite数据库。

要添加搜索引擎,请在'keywords'表格中添加一个条目 要更改默认搜索引擎,请修改'Default Search Provider ID表格中的'meta''值。

答案 1 :(得分:2)

如果您想更改Google Chrome中的默认搜索提供程序,则必须修改“Web数据”文件,该文件是SQLite文件。

在我的计算机上,您可以找到该文件的位置是C:\Users\daniel\AppData\Local\Google\Chrome\User Data\Default(Windows7)。

使用SQLite数据库浏览器查看文件内容;你可以找到一个here

答案 2 :(得分:1)

可以在此处找到适用于Ubuntu上的Chromium和Chrome的解决方案:

https://github.com/andreashuber69/os-setup/blob/master/common/reset-browser-preferences

除了设置默认搜索提供程序外,链接脚本还可以根据自己的喜好自定义Chromium / Chrome。对于Chrome,与问题相关的部分如下:

http://www.mywebsite.com/basepath/bergur

这只是在搜索引擎列表中添加一个新条目并将其设置为默认值。如果要选择现有的,事情就更复杂一些(详见脚本)。以上需要包jq,它在Ubuntu上不是现成的。

与其他帖子相反,似乎无法再在元表中设置默认值。必须通过上面显示的Preferences文件来完成。

答案 3 :(得分:1)

尽管此处的每个人都建议写入Chrome的Sqlite数据库,但可以通过基于JSON的配置文件实现相同的目标(如https://stackoverflow.com/users/49572/andreas-huber所述)。

相关文件可在此处找到:

对于Linux上的Chrome,将这样的内容放入/opt/chrome/etc/policies/recommended/duckduckgo.json,请开始使用

{
        "DefaultSearchProviderEnabled": true,
        "DefaultSearchProviderName": "DuckDuckGo",
        "DefaultSearchProviderSearchURL": "https://duckduckgo.com/?q={searchTerms}"
}

在Windows和OSX以及使用Chromium时,设置它的位置不同,但都记录在上面给定的URL下。