0

今天无意中发现了谷歌浏览器的一个功能,让我很好奇。

假设我在 Google Chrome 搜索栏中输入:

步骤1

输入“stack”后,第一个建议是“stackoverflow.com”。如果我然后按下Tab键,就会发生这种情况:

第2步

请注意出现的“搜索堆栈溢出:”框。随后键入查询,然后按Enter结果仅搜索“stackoverflow.com”。

这是如何运作的?是否有一些网络标准可以使网站可搜索?

如果我在 Wikipedia 上尝试同样的事情,它就不起作用,所以我认为这不是在 Google Chrome 客户端上做的事情。必须有一些服务器端的东西。另外,我知道流行的搜索引擎无论如何都会“默认”在网站内搜索。我只是好奇这个特殊功能是如何工作的。

4

1 回答 1

0

Stack Overflow 似乎实现了OpenSearch 规范,而 Wikipedia 没有。如果您查看源代码,您会看到一行:

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

opensearch.xml文件包含

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>Stack Overflow</ShortName>
  <Description>Search Stack Overflow: Q&amp;A for professional and enthusiast programmers</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">https://sstatic.net/stackoverflow/img/favicon.ico</Image>
  <Url type="text/html" method="get" template="http://stackoverflow.com/search?q={searchTerms}"></Url>
</OpenSearchDescription>

Chrome 也支持这一点,并允许您以您看到的方法搜索站点。

于 2013-07-03T18:07:19.180 回答