用 Javascript 更改 Chrome, Firefox, IE 的預設搜尋引擎

首先根據 OpenSearch 的規格寫出自訂搜尋引擎的描述 xml 檔
如果用 Firefox 產生的 xml ,由於不是 OpenSearch 的標準格式,因此只有 Firefox 能辨認。


 
   Web Search
   Use Example.com to search the Web.
   example web
   admin@example.com
   
        template="http://example.com/?q={searchTerms}&pw={startPage?}&format=atom"/>
   
   
   Example.com Web Search
   http://example.com/websearch.png
   http://example.com/websearch.ico
   
   Example.com Development Team
   
     Search data Copyright 2005, Example.com, Inc., All Rights Reserved
   
   open
   false
   en-us
   UTF-8
   UTF-8
 

接著使用 Javascript 讓瀏覽器安裝你的搜尋引擎:

window.external.AddSearchProvider("http://your.search.description.xml");

實測 Chrome 9, Firefox 3.6+, IE9 都可以正常使用,其他瀏覽器和版本沒有試過。
Chrome 安裝的時候沒有勾選為預設的這個選項,所以要請使用者自己去 Chrome 的選項改為預設。

另外在搜尋建議這個部份, OpenSearch 官網給的範例是:

 

不過 Firefox 吃不出來,要改成:

 
這樣 Chrome 和 Firefox 都能解析了。

Comments