我在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没有检测到该服务(与图片中的方式相同),我缺少什么?
答案 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}&pw={startPage?}&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