当用户在站点时建议将搜索引擎添加到firefox

时间:2012-04-24 17:07:05

标签: html firefox url search-engine

我在duckduckgo并希望将搜索引擎字段添加到我的浏览器

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

enter image description here

如何让我的网站搜索自动显示?

请注意:

我不是在寻找(现在)实现自动建议功能,我只是想让服务保存在浏览器中(与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没有检测到该服务(与图片中的方式相同),我缺少什么?

3 个答案:

答案 0 :(得分:5)

显然,Firefox,IE&amp; Chrome可以检测实施OpenSearch Standard的网站。

基本上,您将在您的网站上提供类似于以下内容的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" />

this lifehacker.com article中的评论(您需要选择“全部”来查看评论)似乎解决了如何在您自己的网站上实现它以及Facebook的实施。环顾四周,似乎是quite a few major reference sites implement this functionality

答案 1 :(得分:2)

我看了一下你的网站(funcook.com)和:

1)您必须删除链接标记的type属性中的所有空格:

<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/">
[...]

答案 2 :(得分: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>

这似乎是它,将测试并标记为acepted