如何使Firefox移动检测搜索引擎?

时间:2019-03-15 22:44:56

标签: javascript html firefox search opensearch

我写了一个带有搜索框的简单网页。我希望Firefox能够自动检测到它,并为用户提供将其添加为搜索引擎的选项。我已经添加了OpenSearch文件。 Firefox桌面版本可以成功检测到它。但是,使用Firefox Android并长按搜索框时,它不会显示将其添加为搜索引擎的菜单。

这是OpenSearch文件:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>Bin Search</ShortName>
  <Description>A search engine that you can customize</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <!--
  <Image width="16" height="16" type="image/x-icon">https://example.com/favicon.ico</Image>
  -->
  <Url type="text/html" template="https://search.binwang.me">
    <Param name="q" value="{searchTerms}"/>
  </Url>
    <!--
  <Url type="application/x-suggestions+json" template="[suggestionURL]"/>
    -->
</OpenSearchDescription>

我还将这些代码添加到HTML文件中:

<script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <link rel="search" type="application/opensearchdescription+xml"
      title="Bin Search" href="/search-plugin.xml">

我还需要做其他事情吗?

2 个答案:

答案 0 :(得分:0)

如果您在Android上使用Firefox Focus,则必须进入菜单> 设置> 搜索> 搜索< / em> 引擎

适用于Android的常规Firefox应该提取您的OpenSearch XML并允许您“添加搜索引擎”

也许还发布您的XML?还是您的网站网址,以便我们在这里查看?

答案 1 :(得分:0)

事实证明,我也需要将输入字段也放在表单元素中。

这是以前的代码:

<div>
  <input type="search" name="q">
</div>

将其更改为类似的名称即可使其起作用:

<form action="/" method="GET>
  <input type="search" name="q">
</form>

Firefox使用此搜索引擎时将提交此表单。例如,如果查询“ abc”,它将请求“ GET /?q = abc”。更改表单操作和输入名称可能会更改请求行为。