這篇文章主要介紹“XML OpenSearch怎么應(yīng)用”,在日常操作中,相信很多人在XML OpenSearch怎么應(yīng)用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”XML OpenSearch怎么應(yīng)用”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了遂川免費(fèi)建站歡迎大家使用!
其實(shí)這是 OpenSearch 的一個應(yīng)用,只要編寫相應(yīng)的微格式的 xml 文件,就可以制定相應(yīng)的搜索框。參考 OpenSearch 的定義文檔,可以基本獲得基本的 xml 格式。比如某個典型的的搜索 xml 文件可以這樣指定。
上面的 xml 文件很容易理解,除了固定的 xml 根以外,其他的定義從字面上就可以理解: InputEncoding 指定搜索的編碼,根據(jù)網(wǎng)站的實(shí)際情況而定 ShortName 這個是搜索的短名稱,比如“Google 搜索” Description 針對這個搜索框的描述,比如“淘寶購物搜索 - 只有你想不到,沒有你淘不到” Image 類似網(wǎng)頁的 favicon ,用于標(biāo)識搜索 Url 這個是最重要的參數(shù),指定搜索的鏈接。它有很多參數(shù),一般使用 {searchTerms} 參數(shù)指定搜索詞即可。參數(shù) type=”text/html” 注明返回的是頁面(瀏覽器會跳轉(zhuǎn)到這個頁面),如果是其他格式就會使用相應(yīng)默認(rèn)程序打開(比如 type=”application/rss xml” 就會使用 RSS 閱讀器打開)。
編寫 OpenSearch 的 xml 格式就完成了,詳細(xì)信息可以參閱其 OpenSearch 定義文檔。下面要在頁面中加入這個搜索,基本上可以分為兩種方式。分別是頁面的在 head 中加入 link 標(biāo)記(類似 RSS),以及使用 Javascript 方式添加(比如定義某個按鈕觸發(fā))。加入 link 標(biāo)記非常簡單,格式如下
title="ShortName" />
與 RSS 相似,rel 和 type 是固定的,我們主要指定 href (上述 xml 的 url 路徑,保險起見使用絕對路徑,即 http:// 開頭)以及 title (也就是搜索的短標(biāo)題)即可。就這樣,在 Explorer 以及 Firefox 中打開這個頁面就可以看見相應(yīng)的菜單了
使用 Javascript 添加比較麻煩(或許現(xiàn)在的情況會很好多)。我們主要會使用瀏覽器的擴(kuò)展功能,在 Explorer 有個 window.external.AddSearchProvider 參數(shù)(詳細(xì)文檔)。典型的調(diào)用方法如下
window.external.AddSearchProvider;
在 Firefox 下可以使用
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml", /* engine URL */
"favicon.ico", /* icon URL */
"ShortName", /* engine name */
"Description" ); /* category name */
參數(shù)和例子如示例代碼中所述(官方文檔)。值得注意的是在 Firefox2 版本以后已經(jīng)“兼容” Explorer 的 window.external.AddSearchProvider 調(diào)用方法(詳細(xì)信息)。那么我們對應(yīng)的 Javascript 代碼就可以這樣編寫(為了兼容 Firefox2 之前的版本,加入 else if 判斷,如果覺得沒有必要,可以不加)
function addEngine(){
if (window.external || window.external.AddSearchProvider) {
window.external.AddSearchProvider('http://who.am.i/search.xml');
} else if (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml",
"favicon.ico", /* icon URL */
"ShortName", /* engine name */
"Description" ); /* category name */
}}
這樣,就可以將這個函數(shù)注冊到某個鏈接或者按鈕的點(diǎn)擊事件中,就會跳出個確認(rèn)框,如圖用戶點(diǎn)擊確認(rèn)以后,就加入到瀏覽器搜索框中了。
到此,關(guān)于“XML OpenSearch怎么應(yīng)用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!