Firefox提供一個搜索工具欄,執行搜索的引擎可以通過下拉列表來選擇,這個列表的內容可以按照自己的喜好定制。可以說這是一個相當方便的功能。每一個搜索引擎對應的是一個xml文件,是按照OpenSearch標準定制的,所以只要符合這個標準的xml文件都可以被Firefox使用。
Mozilla擴展下載網站提供了一個專門的類別來顯示這類搜索引擎,但是內容比較少,地址如下:
https://addons.mozilla.org/zh-CN/firefox/browse/type:4/cat:all?sort=name
Firefox有一款擴展,叫做Add To Search Bar。
這個擴展的唯一也是很強大的功能,就是你點擊任何一個搜索引擎的搜索框,然后在菜單命令中選擇Add to search
bar,Firefox的搜索列表里面就多出一項來。這是一個添加搜索引擎的很方便的方式。但是,有些網站的搜索條弄得太復雜,這個擴展也無法識別。
有一些網站的內部搜索支持OpenSearch,會在代碼中注明,這樣當瀏覽器打開這些頁面的時候,在搜索框下拉列表里面,會自動把這個搜索列出來,點擊就直接添加到瀏覽器中,也很方便。下面這段代碼是從優酷的代碼中摘錄的:
<link rel="search" type="application/opensearchdescription+xml" title="優酷視頻搜索"
href="http://desktop.youku.com/opensearch/youku.xml">
在Mozdev.org上有一個叫做Mycroft的項目,就是一個searchplugin的大集合,基本上你能想到的這上面都有了。還提供了一個搜索,因為太多了,方便大家查找。
以上都是現成的,我們現在摘錄一個來分析一下格式,由于材料的問題,可能分析的比較淺顯,但應該足夠大家自己定制了。
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>優酷視頻</os:ShortName>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:OutputEncoding>UTF-8</os:OutputEncoding>
<os:Image width="16" height="16">data:image/gif;base64,R0lGODlhEAAQAPcAAAkJChITExMUFBQWGBgZGSEjIyIjJCYnJy0uLigyOTAxMTU1NTw8PDI7QTxESjlddUFBQUNDQ0lJSktLS0xMTE5OTkZPVUpQVU5SVVFRUVJSUlNTU1VWVlhYWFlZWV1mbWJiYmdnZ2pqamx4f3R1dXx8fDNggDVigTtukk17mm19hyynK02EqlSDo1iFoVSMs3iYrnqar3+ZqnS+m3Cgv2/QkXbUgIubp4y/s4SvyIeyzI681o6/1Im52Iq62Iu62Yy62Y682Y+92pS9z5K61ZC92pO/25O/3JS/3KO+0YLTnoPHu4/fr6DkuY/EzZfA2pXA3JfB3Z/D1pvB2pnC3ZrD3p7D25zE3p7F35/G3Z/L1a3BzqHF3aLH3qDG36bJ36zI26zK3qDH4KLI4KTJ4KXJ4abK4abK4qrL4KjL4qrM4qrM46zN4qzN46zO467P5K/Q5LPR5LHQ5bPS5rXS5bTS5rXT57jV47jU57vW57zU477X57rW6L/Y6L3i28La6sLa68vd6cne68re7MDp18/i787r5NDj79fn8Nfn8dnn8Nno8tvq8d7r9ODs8+Ds9OLt9ePu9OXv9ejx9ujx9+ny9+71+PD2+fL3+vP4+/X4+/f6/Pj6/P7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAQABAAAAj/ADsJ7GRJ0R0tTnioOTRwIKdKkhj5YVJjyQ4gUSgN1BRJE6dJhGysmDGEChQoGjUJcoRJUyVDTZTgkHJmTBUqlwb1QSRpUiAaKVzkQANnzZkrfL7QEYRIDwoHEjhYiOFmTpsyXp6w2SOIxYUKGUCUwJDEjpw1YoJ0iRPGhIcOEzSEIKECTx03ZX5QUUPkwQYNERhQEPEhT503Zt5EKWPlBAQICw4omDCCz11AkIyIWfOiAQIDBAQU2GJnjhqNhaqcmdIiQQAAA27gmeNm0cBEWM5w0QFDBhg6ctw0atgJEx8yadaswfsnE3GBjXxkQXKkCJBHzwVqStNDyJEjcjY1AgwIADs=
</os:Image>
<os:Url type="text/html" method="GET" template="http://so.youku.com/search_video/q_{searchTerms}/orderby_2" />
</SearchPlugin>
下面簡要說明一下:
- ShortName對應的是在下拉列表里面顯示的名稱。
- InputEncoding和OutputEncoding根據網站的實際情況而定,中文的網站要么是UTF-8,要么就應該是GB2312吧。
- Image對應的是下拉列表里面顯示的圖標,尺寸是固定的,16*16,下面那堆亂七八糟的是base64編碼的,具體下面補充。
- URL
對應的實際搜索方式,大部分搜索引擎都是通過get方式,而get方式就是在網址后面以明文方式加入一大堆查詢參數,只要研究一下搜索結果,很容易就會發
現關鍵字對應的條件。而{searchTerms}對應的就是在搜索框輸入的內容,替換一下就OK了。上面的這段代碼就是我改版的,我在后面增加了
orderby_2,這樣默認就按照發布時間排序了(默認是按照關聯程度排序的)。
修改過的xml文件,名稱無所謂,擴展名是xml就可以。然后放到searchplugins目錄,位置通常類似下面這個目錄,復制到里面,重新啟動Firefox就OK啦。
C:\Documents and Settings\John\Application Data\Mozilla\Firefox\Profiles\hb24feb3.default\searchplugins
補充一下,關于base64編碼:
這個編碼是做什么的呢?深的就不說了,總之就是把二進制內容轉換成一個大字符串,方便網絡傳輸和加密。下面幾個在線工具可以把圖片進行base64編碼:
http://www.greywyvern.com/code/php/binary2base64
http://www.motobit.com/util/base64-decoder-encoder.asp
至于把base64編碼轉換成圖片,只需要把生成的base64編碼前面加上“data:image/jpeg;base64,”(不包括引號),然后直接在瀏覽器地址欄輸入就可以,文件類型需要根據實際情況改一下,有可能是jpeg、png、gif等。
posted on 2009-06-18 12:31
lvq810 閱讀(294)
評論(0) 編輯 收藏 所屬分類:
Other