`

创建自己的Firefox Search plugin

 
阅读更多

偶尔有时使用下firefox,偶尔也会去自己的blog搜索下之前的文档,看到firefox上的搜索工具栏就想写个专门针对自己blog搜索的搜索插件,go大神 + MDN 的文档将这个想法很快就实现了,下面分享下。

 

 

编写firefox的工具栏搜索插件目前可以使用3种方式,下面一一介绍,将针对本blog的文章搜索为例,例如iteye的blog搜索url为 http://dikar.iteye.com/blog/search?query=xxxx ,xxxx就是可以替换的关键词了。

 

 

插件环境:

本机使用fedora 11 系统,firefox版本为 3.5.9 firefox的用户数据目录为 /home/dikar/.mozilla  所有的搜索插件存放位置为 /home/dikar/.mozilla/firefox/s1tk7mcl.default/searchplugins,插件编写修改都需要重启firefox来验证。

本文做如下定义 $SE_PLUGIN_D 表示搜索插件的存放目录。

 

使用快捷键 Ctrl +K 可以快速定位到网页搜索工具栏

 

1:比较早但是firefox还支持的方法(引自 ref 1)

 

<search 
 name="dikM"
 method="GET"
 action="http://dikar.iteye.com/blog/search"
 queryCharset="utf-8"
> 

  <input name="query" user> 
</search>

 

 将该代码保存为myBlog.src文件放置在$SE_PLUGIN_D,注意不是xml文件,然后启动Firefox看效果。

这种格式firefox还支持,但是会内部转化为新的标准格式生成对应的myBlog.xml,你可以看下新的格式标准。

注意这种方法没有设置icon,所以你工具栏中没有icon显示。

 

2:比较早的OpenSearchPlugin规范(引自 ref 2)

 

 

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>myBlog</ShortName>
  <Description>my iteye blog</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">data:image/x-icon;base64,R0lGODlhEAAQALMOAP8RAP///2ZmZv+IgP/Dv/9cUP/h3/8gEP9NQP8+MP8vIP/Sz/+0r/+lnwAAAAAAACH5BAEAAA4ALAAAAAAQABAAQARN0MnpAKDYlsFNINZkAUVgBiNGjawgqOOBhDDAmItJHFc9nIFCquZS1YYZjQdFE1kIAQOPlSwBA42mZKQAJDwgbQXw+8wsr+SoaJSwjREAOw==</Image>
  <Url type="text/html" method="get" template="http://dikar.iteye.com/blog/search">
    <Param name="query" value="{searchTerms}"/>
  </Url>
</OpenSearchDescription>

 

   主要的语法可以参见ref 2中的说明

   保存为myBlog.xml放置在$SE_PLUGIN_D 然后重启FF看效果

 

3:目前的标准(引自各种go)

 

 

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>myBlog</os:ShortName>
<os:Description>my blog search</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQALMOAP8RAP///2ZmZv+IgP/Dv/9cUP/h3/8gEP9NQP8+MP8vIP/Sz/+0r/+lnwAAAAAAACH5BAEAAA4ALAAAAAAQABAAQARN0MnpAKDYlsFNINZkAUVgBiNGjawgqOOBhDDAmItJHFc9nIFCquZS1YYZjQdFE1kIAQOPlSwBA42mZKQAJDwgbQXw+8wsr+SoaJSwjREAOw==</os:Image>
<os:Url type="text/html" method="GET" template="http://dikar.iteye.com/blog/search?query={searchTerms}">
</os:Url>
</SearchPlugin>

 

   保存为myBlog.xml放置在$SE_PLUGIN_D 然后重启FF 看效果

 

   总结:2和3的语法差不多,看xmlns 也是一样的,所以基本的参数设置查不多

 

 参考:

1:Learn to Create a Firefox Search Plugin in Less Than 2 Minutes

2:Creating OpenSearch plugins for Firefox

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics