当我在Google Chrome多功能框中输入一些网址时,我会看到其中的消息“按TAB键搜索$ URL”。例如,有一些俄罗斯网站habrahabr.ru或yandex.ru。当您按TAB键时,您将能够在该站点中搜索,而不是在搜索引擎中搜索。 如何让我的网站能够做到这一点?也许,我需要在我的网站页面中写一些特殊的代码?
答案 0 :(得分:186)
Chrome通常会通过用户首选项处理此问题。 (通过chrome://settings/searchEngines
)
但是,如果您想专门为用户实施此功能,则需要在网站上添加OSD(打开搜索说明)。
Making usage of Google Chrome's OmniBox [TAB] Feature for/on personal website?
然后,您将此XML文件添加到您网站的根目录,并在<head>
标记中链接到该文件:
<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" />
现在,您网页的访问者会自动将您网站的搜索信息放入Chrome {0}的内部设置中。
chrome://settings/searchEngines
重要的部分是<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>
将替换为用户在omnibar中搜索的内容。
以下是OpenSearch的链接以获取更多信息。
答案 1 :(得分:25)
@ element119给出的答案非常完美,但这里有一个稍微调整过的代码来支持搜索建议以及Mozilla支持。
按照以下步骤为您的网站实施全方位支持。
<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&q={searchTerms}" />
<Url type="text/html" method="GET" template="http://yoursite.com/?s={searchTerms}" />
<SearchForm>http://yoursite.com/</SearchForm>
</OpenSearchDescription>
将 search.xml 上传到您网站的根目录。
将以下元标记添加到您网站的<head>
标记
<link rel="search" href="http://www.yoursite.com/search.xml" type="application/opensearchdescription+xml" title="You site name"/>
请务必将域名替换为您的域名。