我写了一个带有搜索框的简单网页。我希望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">
我还需要做其他事情吗?
答案 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”。更改表单操作和输入名称可能会更改请求行为。