168

当我在 Google Chrome 多功能框中输入一些 URL 时,我会在其中看到消息“Press TAB to search in $URL”。例如,有一些俄罗斯网站 habrahabr.ru 或 yandex.ru。当您按 TAB 时,您将能够在该站点中搜索,而不是在您的搜索引擎中。如何使我的网站能够做到这一点?也许,我需要在我的网站页面中编写一些特殊的代码?

4

2 回答 2

218

Chrome 通常通过用户偏好来处理这个问题。(通过chrome://settings/searchEngines

但是,如果您想专门为您的用户实现此功能,则需要向您的站点添加一个 OSD(开放式搜索描述)。

在个人网站上使用 Google Chrome 的 OmniBox [TAB] 功能?

然后将此 XML 文件添加到站点的根目录,并在<head>标签中链接到它:

<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" />

现在,您网页的访问者将自动将您网站的搜索信息放入 Chrome 的内部设置中,网址为chrome://settings/searchEngines

OpenSearchDescription XML 格式示例

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Your website name (shorter = better)</ShortName>
<Description>
Description about your website search here
</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16" type="image/x-icon">your site favicon</Image>
<Url type="text/html" method="get" template="http://www.yoursite.com/search/?query={searchTerms}"/>
</OpenSearchDescription>

重要的部分是<url>项目。 {searchTerms}将替换为用户在多功能栏中搜索的内容。

这是OpenSearch的链接以获取更多信息。

于 2011-10-03T00:31:22.127 回答
36

使用搜索建议实现多功能框支持

@element119 给出的答案非常完美,但这里有一个稍微调整的代码,以支持搜索建议以及 Mozilla 支持。

请按照以下步骤为您的网站实施多功能框支持。

  1. 将以下代码另存为search.xml
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <script/>
  <ShortName>Site Name</ShortName>
  <Description>Site Description (eg: Search sitename)</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">Favicon url</Image>
  <Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;q={searchTerms}" />
  <Url type="text/html" method="GET" template="http://yoursite.com/?s={searchTerms}" />
  <SearchForm>http://yoursite.com/</SearchForm>
</OpenSearchDescription>
  1. 将search.xml上传到站点的根目录。

  2. 将以下元标记添加到您网站的<head>标记中

<link rel="search" href="http://www.yoursite.com/search.xml" type="application/opensearchdescription+xml" title="You site name"/>

确保将域 URL 替换为您的域。

于 2015-09-21T03:52:29.067 回答