主題: 如何自訂Opera 9瀏覽器的搜尋列
撰寫時間: 2006.09.02
備註: 本篇文章需要一些HTML知識

前言:

由於IE的漏洞百出,如非必要,許多人早已不在使用IE當作預設瀏覽器了,其中幾款替代IE的免費瀏覽器中,小宗宗特別愛用Opera,這套瀏覽器的功能可以說是非常的多,許多方便好用的功能令小宗宗愛不釋手.今天小宗宗要介紹的是Opera 9瀏覽器中的自訂搜尋器功能.自訂搜尋器功能可以讓你自行加入你想要的搜尋器在Opera裡,例如Yahoo!奇摩拍賣,eBay...等.小宗宗將會示範Wikipedia,eBay和YouTube三個搜尋器的設定方式.

Opera的搜尋列 Opera的搜尋列

準備動作:

1.安裝好Opera 9瀏覽器.(廢話^^)
2.欲加入的搜尋器的所在網頁原始碼.
3.網頁編輯器.(如Notepad++,Dreamwaver...等)


Wikipedia篇:

1.分析搜尋器HTML原始碼.

wikipedia原始碼

我們先到Wikipedia搜尋器的所在網頁,然後把網頁的原始碼給存起來.

原始碼密密麻麻的一大堆,該怎麼找到我們要的部份呢?很簡單~因為搜尋器的位置通常都是表單,而表單的HTML開頭一定會有<form的關鍵字出現.所以我們只要搜尋關鍵字就可以找到了.不過要注意的是有的網頁可能會有好幾個表單,記得要注意搜尋到的表單是不是我們要的部份.

wiki原始碼2

用搜尋很快就找到我們要的部份了.

注意小宗宗畫的綠色線的地方是我們要的資訊.解釋如下:

<form>

在<form>與</form>之間表示是一個表單

action:這後面接的網址是指表單要送到的網址.
method:按規定應該要有,不過很奇怪的是這網頁沒寫出來.method是指表單傳送方式,有分GET和POST兩種.
GET是指輸入的資料會跟在action所指定的網址後面以?來連接.(例如:http://www.ex.com?search=search_key_words)一般90%的搜尋器都是用GET.
另一種POST則是用來傳送大量文字用的,所以不會跟在網址後面.這邊使用的是GET方式.

<input type="text">

type="text"表示是單行文字輸入欄位,通常就是用來打搜尋關鍵字的文字框. name後面接的"search"是表示這個欄位的名稱是search.當按下搜尋鈕後,會將打的關鍵字整串指定給search變數.後端程式處理時可以直接呼叫search變數來得知關鍵字為何.
所以只要看到<input type="text">就應該要知道這欄位就是輸入關鍵字的欄位,直覺反應就是"變數名=%s" 因為你打在Opera搜尋列的關鍵字是用變數%s表示.這是Opera內定的,所以不要問小宗宗為什麼^^

<select name="language">...</select>

<select>表示是下拉選單,其中接下來的很多<option>各代表的是一個選項,name同前一個一樣也是表示這欄位的變數名稱.

<option value="en">

value表示變數值設定為多少,以這邊為例,如果選擇English這個選項,將會讓language變數=en.而其中selected="selected"表示這個選項是預設值.

<input type="submit">

倒數第五行,這個是表單的搜尋按鈕

<input type="hidden">

倒數第四行,這種欄位是隱藏的欄位,也就是說該欄位並不能讓使用者作任何的選擇,所以我們只要直接貼上它後面跟著的value值就可以了.(go=Go)

2.將所得資料輸入到Opera中

Opera功能設定

 

開啟Opera 9

工具->功能設定->搜尋

然後按下右邊的"新增"按鈕

opera搜尋

接著我們照著所分析出的資料開始填寫.

名稱:你想顯示在搜尋列上的名字

關鍵字:如果直接在網址列上要使用此搜尋器時的開頭關鍵字.(例如要用google搜尋小宗宗部屋,就打g 小宗宗部屋)

網址:這裡是指接收表單的網址,就是form裡面的action後面那串當做開頭,因為使用GET傳送表單,所以在http://www.wikipedia.org/search-redirect.php的後面加上?符號,然後開始接參數值.

格式是
form action網址?參數名稱1=參數名稱1的value&參數名稱2=參數名稱2的value&參數名稱3=參數名稱3的value...

而這個搜尋器只有傳送三個參數,一個是名為search的搜尋關鍵字參數,另一個是名為language的語言參數,還有一個隱藏的go變數.把這三個參數如圖所示用&符號分開連接在action的網址後面.

最後網址是:
http://www.wikipedia.org/search-redirect.php?search=%s&language=en&go=Go

其中%s表示的是你打進Opera搜尋器的關鍵字變數,所以把本來要傳送關鍵字的寫成search=%s.

wiki原始碼2

就這樣就完成了^^~很簡單吧~


eBay篇:

eBay原始碼

eBay的原始碼非常的亂而且有多個form,小宗宗整理了一下,如左所示.

這個比較不一樣的地方是多了很多<input type="hidden">的欄位,這種欄位是隱藏的欄位,也就是說該欄位並不能讓使用者作任何的選擇,所以我們只要直接貼上它後面跟著的value值就可以了.
(每個人拿到的hidden參數不一定一樣喔)

eBay設定

接著我們把所得的資訊轉成設定值.比對小宗宗畫的綠線處,這次一共有5個參數值要傳遞,分別是
cgiurl=http://cgi.ebay.com/ws/
fkr=1
from=R8
satitle=%s (%s表示Opera搜尋列打入的關鍵字)
category0=

所以設定是http://search.ebay.com/search/search.dll?cgiurl=http://cgi.ebay.com/ws/&fkr=1&from=R8&satitle=%s&category0=

也是不難吧^^


YouTube篇:

YouTube

YouTube也蠻簡單的,只有一個參數而已.大家一定躍躍欲試吧.

不過第一個action就會遇到問題.怎麼沒有http://開頭,而且有夠短.怎麼會這樣呢?因為如果前面的網址和這個表單所在的網址一樣的話,是可以省略的喔~所以完整的action網址應該是
http://www.youtube.com/results

接著我們發現只有一個<input type="text">欄位後就看到表單完結的</form>記號.(<input type="submit"是寫著Search的按紐)

表示這裡只有一個關鍵字參數.參數名稱是search_query

套用公式:
form action網址?參數名稱1=參數名稱1的value&參數名稱2=參數名稱2的value&參數名稱3=參數名稱3的value...

所以我們得到網址是:
http://www.youtube.com/results?search_query=%s

 


Yahoo!奇摩拍賣設定值:

這也是簡單的,大家可以自己試著找看看,小宗宗就直接公佈答案了

網址:http://tw.rd.yahoo.com/referurl/bid/hp/hp_search/*http://tw.search.bid.yahoo.com/search/ac?p=%s&xyz=

 


如何自訂Opera 9瀏覽器的搜尋列
~完~

By 小宗宗

 

free hidden objects game best. where new hidden object games to play. free new hidden object games to play online portal.