通过 OpenSearch 技术的自动发现特性。
这些网站支持了这个特性,以知乎为例,页面源代码中加入了<link rel="search" type="application/opensearchdescription+xml" href="http://static.zhihu.com/static/search.xml" title="知乎" />
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<InputEncoding>utf-8</InputEncoding>
<ShortName>知乎</ShortName>
<Description>发现更大的世界</Description>
<Image type="static/img/favicon.png">favicon</Image>
<Url type="text/html" template="http://www.zhihu.com/search?q={searchTerms}"/>
</OpenSearchDescription>
而 Chrome 等浏览器也支持这个特性,所以它们能够识别这些网站的搜索功能。
如果想为自己的站点添加这种搜索支持,只懂得并使用上面的技术就可以了。但是呢因为有大量的现有网站并没有支持这个特性,所以 Chrome 同学还使用了别的方案来发现搜索支持。不过这种作为补充的『猜搜索框』方案有着不少的限制,比如必须以 GET 的方式提交表单、不能存在提交事件、被提交表单中必须有且只有一个文本元素、无法提供名字和图标等等。