当我为我的在线克林贡词典实现搜索功能时,我发现 Chrome 不需要 OpenSearch 描述即可将其自动检测为搜索引擎。
注意:虽然这是一种更简单的方法,但它不允许使用高级功能,例如指定搜索模板、自定义网站图标(Chrome 自动使用网站的网站图标)等。它也可能不适用于 Chrome 以外的其他浏览器。
我从Search Engine Autodiscovery: Google Chrome Autodiscovery的说明开始,其中说:
有趣的是,自动发现仅在搜索引擎位于主页时才有效。您必须有一个类型的输入字段search
或text
具有名称的类型s
:
<form>
<input type="search" name="s" />
</form>
或者
<form>
<input type="text" name="s" />
</form>
我让 Chrome 在我的网站klingonska.org上自动检测搜索引擎,而不使用 OpenSearch 描述。
但是我偏离了上面的描述,因为我发现我不需要调用s
或使用字段type="search"
。我的最终<form>
外观是这样的(简化形式)。
<form method=get action="dict/">
<input name=q placeholder="Search dictionary…">
<button type=submit>Search</button>
</form>
关键因素似乎是表单位于根页面http://<domain>/
页面(而不是子页面之类http://<domain>/<dir>/<something>.html
)。而且,IIRC,搜索表单只包含一个字段。