这事情源于某些网站自带有搜索功能,但是却不提供给我们使用,在百度拿了个site:自己的网站 这样的语法来糊弄我们。。。今天有些时间,呵呵 处理了一点小事情之外,跟手就想做一个自己的搜索框。 [music1g play=141650]

看到国内的某软件下载站做的不错,呵呵。所以就做了个搜索的插件,省得还要登录他的网站去看那一大片的广告。本来不想在这里罗嗦制作的方法的,毕竟很容易。嗯嗯。不过嘛,写下来当作是心得吧。呵呵。外人看不明白的话,就算啦。

先到firefox下找一个 searchplugins目录文件,然后就找个xml的模板,之后就来修改了。嗯嗯。
我的某个插件的代码如下:


<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google SSL</ShortName>
<Description>Google SSL</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAklooE6FiJ2ixbiuluHYuvb5+J7a4eQ2Mm14FPntHAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTaUMCwopZdeKWVvLtllL/7pxZ//CiXf/zpmL/9a9u//SzUf7LjBTFnmACKgAAAAAAAAAAAAAAAAAAAACYbUYD1J9vp/SrcP/1rXH/+LRx//rCe//4vnb/+MJ8//q8d//5rmn/+a5k/96XF/GoaQA9AAAAAAAAAAAAAAAAx49ehfezev/5vo3/+8SP//Gsb//eiEH/130w/9V8LP/ekkT/98GB//26eP/toFv/1YoF7Z1fABwAAAAAqXNCJe2obPn5wZL/+seY/+SVU//ZgzD/4ZMy/+WcNP/kmTP/3o0w/+SmXP/+x4z/9bBy/8FlC//BfgGkAAAAAMWJU4v4vYr/+9Cn/9+QSv/eiyf/6qYv/+6zO//wukL/77hA/+mpNP/osWr//s2V//Ksbf+rTgT/0oIH+ZJVABXVpHTO+9q3/+eob//agR3/6aAq/++1Pf/zx1D/9tFf/+m5S//jrmD/+9im//7Kkf/klVH/sVIG/8BsB/+dXQFT27qV7frixf/Pch7/448c/+unMP/xvkX/8sxe/+e9Zv/w0pz//Om+//3Tn//2uHD/3YEZ/7hXCf+lUwP/n18BctzFqOvjt4n/0W4P/+OPHP/qpi//57JJ/+7Tmv/89Nj//enC//zRmv/zvF//55sm/9+CFP+8Wgj/mksB/5dZAnHayLDJxYhN/9NyC//jkBn/6Ltw//rz3f/+/PP//e3U//nQgf/xv0r/7Ksz/+WVIP/efBH/uFYE/6FWFv/JeCWe0L2lgqhlJ//ObAb/45AU//XWn//++/X//v31/+bFm//eojr/7bE4/+mjKf/diBn/1nkn/+SPT//kjkH23X4uHqR5Th2QRwf1uFoA/+KLC//ooRn/8cVk//zw2f/9+Or/8NWz/9yiXv/alkr/56Fg//qua//EdjH/llYFlwAAAAAAAAAAlE4Ic6VPBP7cegT/6ZsR/+6sG//xuDD/+NSJ//zkxP/927j//cmX//OnYf/DZhb/jk0A439EABQAAAAAAAAAAAAAAACpXg6Q02wJ/uaJDP/wpRj/87Ae//OyH//xrB7/7aQo/+OIFf/PZQH/mE8B54NGAC4AAAAAAAAAAAAAAAAAAAAAAAAAAKtlEVzVeRPk8pEX//anIf/3sST/8qUe/+qNEv/Tcgj9nVIDrYFDARsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkFMMB6hoFE/EeReMzHsUpMd1EJ2yaAtzklAFJwAAAAAAAAAAAAAAAAAAAAAAAAAA8A8AAMAHAACAAwAAgAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAgAEAAMADAADgBwAA8B8AAA==
</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;client=firefox&amp;hl={moz:locale}&amp;q={searchTerms}"/>
<Url type="text/html" method="GET" template="https://www.ggssl.com/search">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
<MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/>
</Url>
<SearchForm>https://www.ggssl.com/</SearchForm>
</SearchPlugin>

真正需要修改的就这么一处地方:

<Url type="text/html" method="GET" template="https://www.ggssl.com/search">

把链接替换成网站的搜索链接就可以了。修改好了之后,可以改一下显示的ico图标,这个是base64编码的,选好一个自己喜欢的ico以后,可以到下面的网站(http://www.motobit.com/util/base64-decoder-encoder.asp)来在线转换一下,替换掉模板里的

<Image width="16" height="16">data:image/x-icon;base64,

</Image>

之间的base64编码。

然后,保存为xml格式的文件就可以了。其实,这个ico图标可以不使用base64编码保存在本地的。有一个办法更加简单:在image标签里面直接放上ico图标的地址即可。如例子(京东商城的ico图标):

<os:Image width="16" height="16">http://www.360buy.com/favicon.ico</os:Image>

在保存的时候,记得编码一定要选UTF-8的,不然的话 会出错的,因为firefox默认的编码就是UTF-8。

嗯嗯。如今我又制作了一个红软基地的插件 扩展。做好以后却发现有个问题,搜索英文的时候没问题,但是搜索中文的时候就有问题了。我看了一下原来的网站,搜索后地址栏会把中文字变成ASCII码,但是我做的插件却直接在地址栏上显示出中文名,于是搜索出来的结果就是乱码了。

我看了看网站,编码是GB2312的,但是 我在我制作的插件上,却显示着UTF-8

<InputEncoding>UTF-8</InputEncoding>

解决方法是把GB2312替换掉UTF-8就可以了。

语言有点含糊,唉。。。自己明白就算吧。写给自己的教程,呵呵,怕以后忘记。[PS :2011-10-26 6:55更新]

藏剑山庄原创文章,未经允许,禁止转载!

原文链接:http://blog.yanwen.org/archives/236.html