如何自定义 Firefox 的搜索引擎?

如何自定义 Firefox 的搜索引擎?

最近我决定使用鸭鸭鹅而不是 google,我将其安装为搜索引擎。

问题是 Firefox 使用https://duckduckgo.com/opensearch.xml知道搜索网址。但我想使用参数

然后,我尝试进入 Firefox 的配置文件夹并search.json使用searchplugins/duckduckgo.xml我自己的参数进行修改。

一开始它能起作用,但是我使用 Firefox Nightly(每天更新),每次更新后我都会丢失我的搜索引擎列表。

为了恢复它,我这样做:

  1. 删除search.jsonsearchplugins/duckduckgo.xml
  2. 重启火狐
  3. 再次添加 duckduckgo
  4. 修改search.jsonsearchplugins/duckduckgo.xml再次

但我不想每天都这样做。自定义搜索引擎的正确方法是什么?


注 1search.json:新旧之间的区别很小:

1.

  • {"version":7,"buildID":"20131109030206","locale":"en-US","directories":{"Path\\To\\Nightly\\browser\\searchplugins":{"lastModifiedTime":1384018305984,"engines":

  • {"version":7,"buildID":"20131110030205","locale":"en-US","directories":{"Path\\To\\Nightly\\browser\\searchplugins":{"lastModifiedTime":1384100021250,"engines":

2.

  • "Path\\To\\Profile\\searchplugins":{"lastModifiedTime":1384040082109,"engines":[{"_id":"[profile]/duckduckgo.xml"

  • "Path\\To\\Profile\\searchplugins":{"lastModifiedTime":1384100281656,"engines":[{"_id":"[profile]/duckduckgo.xml"

3.

  • "_urls":[{"template":"https://duckduckgo.com/?q={searchTerms}&我的自定义参数=我的自定义值"

  • "_urls":[{"template":"https://duckduckgo.com/?q={searchTerms}"

笔记2

我知道我可以使用 URL 关键字并进行修改keyword.URL,但我也希望能够使用搜索栏使用我的自定义搜索引擎进行搜索。

那么我的问题不是重复的如何向 Firefox 添加自定义搜索引擎?


解决方案

问题似乎出在使用 Firefox 添加 DuckDuckGo 时。

Firefox 创建了以下内容DuckDuckGo.xml

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>DuckDuckGo</os:ShortName>
<os:Description>Search DuckDuckGo (SSL)</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,...</os:Image>
<os:Url type="text/html" method="GET" template="https://duckduckgo.com/?q={searchTerms}">
</os:Url>
</SearchPlugin>

但它应该是

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
    <ShortName>DuckDuckGo</ShortName>
    <Description>DuckDuckGo. More Privacy. Less Spam.</Description>
    <InputEncoding>UTF-8</InputEncoding>
    <Image height="16" width="16" type="image/x-icon">data:image/x-icon;base64,...</Image>
    <Url type="text/html" method="GET" template="https://duckduckgo.com/">
        <Param name="q" value="{searchTerms}"/>
    </Url>
    <SearchForm>https://duckduckgo.com/</SearchForm>
</SearchPlugin>

不确定我是否search.json也改变了一些东西。

答案1

这与主题无关,但感谢匿名搜索引擎DuckDuckGo

您可以使用这个开放搜索迈克罗夫特项目

它已经创建了所有内容,只需在文本框中输入值即可获得 XML 代码。

您还可以提交您的网站搜索引擎这里

或者

步骤如下:

  1. 需要创建一个 XML 文件,其中包含有关搜索引擎的信息,如 ShortName、Description、URL 等。XML 文件示例这里

  2. 为该 XML 文件命名并将其放在此处:

%APPDATA%\Mozilla\Firefox\Profiles\XXXXXXXX.default\searchplugins

或者这里:

%PROGRAM_FILES%\Mozilla Firefox\searchplugins

  1. 修改 FireFox 首选项文件:

%APPDATA%\Mozilla\Firefox\Profiles\XXXXXXXX.default\prefs.js

只需添加/修改此行:

用户首选项(“浏览器.search.selectedEngine”, “引擎名称”);

无需手动修改SQLite数据库文件,重启FireFox后会自动添加新的搜索引擎。

来源

相关内容