Search Bar On Browser_3

Search Bar On Browser

摘要: 本文介绍主流浏览器的搜索引擎插件标准。本文还解释如何在浏览器的添加搜索引擎插件

 

本文内容:

简介

一、       Sherlock标准

二、       OpenSearch标准

三、       MozSearch标准

四、       .ini配置文件

五、       如何添加搜索引擎

 

简介

现今主流的浏览器基本都支持在搜索栏上添加自定义的搜索引擎。当然,不同的浏览器采用的搜索引擎添加方式不同,下面就我所知道的4种方式逐一作一介绍。

             MozSearch标准

参见:http://developer.mozilla.org/en/docs/Supporting_search_suggestions_in_search_plugins

1.       Supporting search suggestions in search plugins

MozSearch支持搜索提示,当用户在搜索栏中输入信息时,Firefox 2中搜索引擎插件会指定URL区获取实时的搜索提示。

一旦这个匹配的列表找到后,会在搜索栏下弹出栏中显示,可以让用户选择一个合适的查询术语。如果用户继续输入,新的提示请求搜索引擎,显示的列表重新刷新。

 

YahooGoogle的搜索引擎包括Firefox 2 支持的查询提示。

 

2.       Implementing suggestion support in the search plugin

为了支持查询提示,一个搜索引擎需要定义一个额外的<url>元素来和类型设置为"application/x-suggestions+json"一致。这就意味着支持提示的引擎插件有2<url>元素,另外一个是主要的text/html类型的查询URL

 

例如,Yahoo的搜索引擎有这样的<url>入口:

<Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}"/>

如果用户在查询栏中输入”fir”,然后暂停,Firefox将用”fir”代替{searchTerms}并查询这样的URL

<Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command=fir"/>

查询结果用于构造提示列表

参见Creating MozSearch plugins获取更多关于如何执行一个搜索引擎。

 

3.       Implementing search suggestion support on the server

处理搜索提示的主要工作实际上是在服务器上执行。如果你是一个网站设计者,并且想支持搜索提示,你需要为获取一个查询条件从JavaScript Object Notation(JSON)返回提示。

 

当浏览器想要获取可能对应的搜索术语,之后通过<url>元素发送一个Http GET请求给URL

 

你的服务端取决于提供的建议,组成一个JSON包括至少2个至多4个元素。

 

4.       Query String

JSON中的第一元素是原始的查询字符串。这个允许Firefox来验证提示是否对应现在的查询术语。

 

5.       Completion list

一个提示查询术语的数组。这个数组加上方括号。例如["term 1", "term 2", "term 3", "term 4"]

 

6.       Descriptions

这个可选元素是一个完成列表中每个提示信息描述的数组。还有搜索引擎额外的信息能够返回在浏览器上显示,比如这个可用搜索结果的数量。

 

注意,Description不支持Firefox 2,任何指定会被忽略。

 

7.       Query URLs

这个可选元素是一个在完成列表中为每个提示的一组交替的URLs。例如,如果你想提供一个地图链接来代替一个给定提示的查询结果页,你可以在这个数组中返回一个指向此地图的URL

 

如果你不指定查询的URL,默认的查询是使用基于查询描述,这个查询描述是在搜索插件的XML描述中的<url>元素。

 

注意,查询URLs不支持Firefox 2,并会被忽略。

 

比如,如果查询关键字为”fir”,你不需要返回描述或是查询的URLs,你可以返回下面的JSON

["fir", ["firefox", "first choice", "mozilla firefox"]]

注意在这个例子中,只有查询字符串和完成的数据能够被指定,可选的元素不予考虑。

 

你的完整列表能包括你所喜欢的很多提示,虽然这些提示易于管理,但是当用户输入他们的查询字符串时能动态更新的显示。另外,你用于选择提示的方法是完全取决于你的。

 

8.       Creating MozSearch plugins

1Example: searching Yahoo!

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
     
     
<ShortName>Yahoo</ShortName>
     
     
<Description>Yahoo Search</Description>
     
     
<InputEncoding>UTF-8</InputEncoding>
     
     
<Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image>
     
     
<Url type="application/x-suggestions+json" method="GET"
     
     
     template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command={searchTerms}" />
     
     
<Url type="text/html" method="GET" template="http://search.yahoo.com/search">
     
     
  <Param name="p" value="{searchTerms}"/>
     
     
  <Param name="ei" value="UTF-8"/>
     
     

     
     
      
       
     
     
  <MozParam name="fr" condition="pref" pref="yahoo-fr" />
     
     
</Url>
     
     
<SearchForm>http://search.yahoo.com/</SearchForm>
     
     
</SearchPlugin>
     
     

如果使用这个Yahoo!Search搜索插件,输入”mozilla”到查询框中,则查询对应的URL如下:

http://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2
     
     

输入的值对应为{searchTerms},直接跳转到URLhttp://search.yahoo.com/search

 

 

2Example: searching MDC

This plugin lets you easily search the Mozilla Developer Center web site.

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
     
     
<ShortName>MDC</ShortName>
     
     
<Description>
     
     
      
      
       
       Mozilla
      
       
      
      
       
       Developer
      
       
      
      
       
       Center
      
      
     
      search</Description>
     
     
<InputEncoding>UTF-8</InputEncoding>
     
     
<Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%
     
     
      
      2F
     
     9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%
     
     
      
      2F
     
     %2Fz8DJQAggJiQOe%2Ffv2fv
     
     
      
      7Oz
     
     8rays%2FN%2BVkfG%2FiYnJfyD%
     
     
      
      2F
     
     1%2BrVq7ffu3dPFpsBAAHEAHIBCJ
     
     
      
      85c
     
     8bN2Nj4vwsDw%
     
     
      
      2F
     
     8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn
     
     
      
      4Ha
     
     3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM
     
     
      
      4A
     
     9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image>
     
     
<Url type="text/html" method="GET" template="http://developer.mozilla.org/en/docs/Special:Search?search={searchTerms}"/>
     
     
<SearchForm>http://developer.mozilla.org/en/docs/Special:Search</SearchForm> 
     
     
</SearchPlugin>
     
     

注意,在这个例子中没有使用<Param>来定义参数,参数直接简单的包含在模版URL中,实际上在使用GET方法时首选。<Param>应该用于POST方法。

12 使用MozSearch查询时的提示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值