3

我在duckduckgo,想在浏览器中添加搜索引擎字段,

通常您必须在浏览器实用程序中进行搜索,但当我看到浏览器已经检测到它时,我感到很惊讶。

在此处输入图像描述

我怎样才能让我的网站的搜索像这样自动显示?

请注意:

我不希望(现在)实现自动建议功能,我只是想将服务保存在浏览器中(与 stackoverflow+firefox 完全相同的行为)

-编辑-

尝试了我在他们的网站上找到的代码,与 opensearch 文档匹配:

1)

    <link title="your service name" type="application/opensearchdescription + xml " rel="
search " href="/opensearch.xml ">

2)xml文件:/opensearch.xml

<OpenSearchDescription>
     <ShortName>DuckDuckGo</ShortName>
     <Description>Search DuckDuckGo (SSL)</Description>
     <InputEncoding>UTF-8</InputEncoding>
     <LongName>DuckDuckGo Search (SSL)</LongName>
     <Image width="16" height="16">http://duckduckgo.com/favicon.ico</Image>
     <Url type="text/html" method="get" template="https://duckduckgo.com/?q={searchTerms}"/>
</OpenSearchDescription>

但是使用我的域名和 URL,而 Firefox 没有检测到服务(与图片中的方式相同),我错过了什么?

4

3 回答 3

5

显然,Firefox、IE 和 Chrome 能够检测实施OpenSearch 标准的网站。

基本上,您将在您的站点上提供一个 XML OpenSearch 描述文档,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>Web Search</ShortName>
  <Description>Use Example.com to search the Web.</Description>
  <Tags>example web</Tags>
  <Contact>admin@example.com</Contact>
  <Url type="application/rss+xml" 
       template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=rss"/>
</OpenSearchDescription>

<head>...并在您的网站中链接到它,如下所示:

<link rel="search" 
  type="application/opensearchdescription+xml" 
  href="http://www.example.com/search.src" 
  title="Add Example.Com Search" />

这篇 lifehacker.com 文章中的评论(您需要选择“全部”才能看到评论)似乎解决了如何在您自己的网站上实现它并参考 Facebook 的实现。环顾四周,似乎有不少主要的参考网站都实现了此功能

于 2012-04-24T17:11:31.027 回答
2

我查看了您的网站(funcook.com)并且:

1)您必须删除链接标签的类型属性中的所有空格:

<link title="Funcook" type="application/opensearchdescription + xml" rel="search" href="http://funcook.com/opensearch.xml" />

变成:

<link title="Funcook" type="application/opensearchdescription+xml" rel="search" href="http://funcook.com/opensearch.xml" />

2) 您必须在 opensearch.xml 中使用正确的命名空间:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription>
[...]

变成:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
[...]
于 2012-05-02T16:50:10.423 回答
0

好,

我只是想,为什么不检查他们的代码?

两个步骤:

1)一个指向一个xml文件

    <link title="your service name" type="application/opensearchdescription + xml " rel="
search " href=" / opensearch_ssl.xml ">

2)xml文件:/opensearch_ssl.xml

<OpenSearchDescription>
     <ShortName>DuckDuckGo</ShortName>
     <Description>Search DuckDuckGo (SSL)</Description>
     <InputEncoding>UTF-8</InputEncoding>
     <LongName>DuckDuckGo Search (SSL)</LongName>
     <Image width="16" height="16">http://duckduckgo.com/favicon.ico</Image>
     <Url type="text/html" method="get" template="https://duckduckgo.com/?q={searchTerms}"/>
</OpenSearchDescription>

似乎就是这样,将测试并标记为已接受

于 2012-04-25T16:14:30.747 回答