介紹
名稱:del. direc.tor 網(wǎng)址:http:///features/deliciousdirector/ 介紹:del. direc.tor是一個(gè)用來查詢用戶從del.收錄的網(wǎng)摘得快速瀏覽工具,這個(gè)工具基于AJAX技術(shù),無須安裝客戶端(比那個(gè)tagSense要好的多了),界面和易用性非常好(看我的截圖)。
功能:
- 快速抓取del.中的所有鏈接,測試數(shù)據(jù)為12000條。
- 具有本地搜索功能,本地搜索是指發(fā)送命令不經(jīng)過網(wǎng)絡(luò),全部從已打開的瀏覽器里快速響應(yīng)
- 搜索支持tag和description,經(jīng)我測試連描述和標(biāo)題中的中文也支持,這是del.一直沒有解決的問題
- 最棒的還是對(duì)tag的支持,可以在選擇定某個(gè)tag后快速列出相關(guān)tag,一共支持4級(jí)
- 可以從列表中直接點(diǎn)擊Edit對(duì)書簽進(jìn)行修改操作
- 排序、排序,可以對(duì)tag、title、postTime進(jìn)行排序,而且速度非常快
安裝:
- 將這個(gè)鏈接加入到瀏覽器的快捷書簽上,就像del.的post書簽一樣的添加方法
- 打開del.隨便進(jìn)入一個(gè)頁面(這是必須,當(dāng)頁面的url不屬于del.時(shí)無法執(zhí)行)
- 這時(shí)瀏覽器可能會(huì)出現(xiàn)無響應(yīng),請(qǐng)不要急于關(guān)閉,這表明程序正在從del.中將你的書簽全部下載到本地,請(qǐng)耐心等待
- 如果彈出登錄框,輸入del.的賬號(hào)密碼即可(如果你沒有del.的賬號(hào)那就點(diǎn)這個(gè)看看demo吧)
- 等待幾秒鐘(視你的書簽數(shù)量不等)后頁面將裝載完畢,OK!輸入一個(gè)查詢或者點(diǎn)擊tag列表進(jìn)行享受性的書簽瀏覽吧
其他:搜索上支持三種方式:
- t:<tagName>——這個(gè)用來搜索tag,如“t:blog”
- d:<Description>——這個(gè)用來搜索標(biāo)題和描述,支持中文,如“d:書簽”
- -t|d|keywords——用"-"號(hào)可以實(shí)現(xiàn)不包含查詢,如要查詢不包含"blogchina",即“-blogchina”
- 直接輸入關(guān)鍵字就從url、title、description三個(gè)字段中進(jìn)行查詢
遺憾:
- 本工具只支持IE和FireFox瀏覽器,對(duì)于小部分的Safari用戶,因?yàn)镾afari本身不支持javascript端的XSLT,所以無法使用
- 搜索輸入框?qū)崿F(xiàn)了按鍵響應(yīng),即從搜索框中每次敲擊鍵盤,就進(jìn)行一次查詢,這樣雖然看似方便,但對(duì)于大量書簽的用戶,會(huì)產(chǎn)生片刻的輸入拖延和停頓,我的機(jī)器是xp2500,也許高配置的機(jī)器操作時(shí)感覺會(huì)好點(diǎn)
- 目前打開一次這個(gè)工具就需要重新從del.的服務(wù)器上下載所有書簽,所以顯得不夠即時(shí),這也沒辦法,瀏覽器本身不支持?jǐn)?shù)據(jù)的腳本對(duì)數(shù)據(jù)的本地保存
- 沒有提供對(duì)tag的修改功能,其實(shí)通過那4個(gè)relate tag列表,已經(jīng)給用戶提供了非常良好的tag視察功能,如果用戶能通過列表找到tag的不足進(jìn)行即時(shí)修改豈不更好?
原理:
這項(xiàng)技術(shù)基本上是靠AJAX實(shí)現(xiàn),即利用javascript和xmlhttprequest進(jìn)行異步的數(shù)據(jù)交互,不過這其中和以往的AJAX有一點(diǎn)小差別,那就是這個(gè)小工具利用的是一個(gè)叫做client-side web service broker的技術(shù),具體分析見我下一段,除過AJAX,在數(shù)據(jù)交互上還利用了服務(wù)端的XMLHttpRequest組件,這也屬于一個(gè)關(guān)鍵應(yīng)用。至于操作時(shí)的無刷新更改列表數(shù)據(jù)這就全靠javascript了,對(duì)tag相關(guān)性的檢索、書簽的檢索以及列表排序,這就全靠XSLT的數(shù)據(jù)組織功能了。AJAX、XMLHttpRequest組件、XML+XSLT,這是實(shí)現(xiàn)本工具的三個(gè)重要技術(shù),缺一不可。至于如何讀出用戶的del.書簽列表,這是del.開放API中提供的服務(wù),你只要Get這個(gè)url即能看見你的所有書簽http://del./api/posts/all,返回的是一組utf-8編碼,xml組織的數(shù)據(jù)。
技術(shù):
- 客戶端AJAX,或站內(nèi)AJAX:此AJAX的特點(diǎn)是執(zhí)行腳本所在的瀏覽頁面和裝載腳本代碼的地址必須是同一站點(diǎn),或者是腳本代碼本身就放在客戶端本地。比如我的站點(diǎn)想應(yīng)用AJAX技術(shù)提供給瀏覽用戶,這個(gè)實(shí)現(xiàn)AJAX的腳本代碼必須放在我的域名地址下或者是由客戶下載代碼到本地后執(zhí)行,這本來就是XMLHTTP規(guī)范的東西,即xmlhttprequest不能進(jìn)行跨域操作。(我的AJAX翻譯小工具即出自這個(gè)原理)
- 服務(wù)器端代理AJAX:用戶利用AJAX可以實(shí)現(xiàn)跨域的讀取數(shù)據(jù),其實(shí)數(shù)據(jù)不是直接由客戶端發(fā)往請(qǐng)求服務(wù)器的,而是通過代碼所在的站點(diǎn)進(jìn)行轉(zhuǎn)接請(qǐng)求操作,如我的那個(gè)Google排名查詢工具,用戶打開了我服務(wù)器上的執(zhí)行頁面,對(duì)Google的服務(wù)器進(jìn)行數(shù)據(jù)請(qǐng)求,其實(shí)這其中是通過我的web所在的服務(wù)器進(jìn)行轉(zhuǎn)接的,客戶發(fā)出命令,命令發(fā)到我的web上,web服務(wù)端腳本利用本身的xmlhttprequest(注:對(duì)于服務(wù)器,這時(shí)調(diào)用xmlhttprequest組件其實(shí)屬于本地操作)對(duì)google進(jìn)行數(shù)據(jù)查詢,得到查詢結(jié)果在返回給客戶端,起到了媒人的作用。(看出不爽的地方了嗎?沒看出看下面的解釋)
- 客戶端代理AJAX:這個(gè)想法真的很棒,太有創(chuàng)意了。本篇介紹的這個(gè)工具就是利用了這一條。我在安裝那段第二條中寫道:打開del.隨便進(jìn)入一個(gè)頁面,為什么要必須打開一個(gè)del.的頁面呢?因?yàn)橹挥写蜷_這個(gè)頁面你的瀏覽器當(dāng)前域就屬于del.了,這時(shí)候點(diǎn)擊快捷欄上的書簽時(shí)調(diào)用AJAX其實(shí)就賦予了代碼的del.域的權(quán)利,所以才能實(shí)現(xiàn)從web1取代碼后和web2進(jìn)行通訊(以往這就屬于跨域了),關(guān)鍵就是先要打開一個(gè)del.的頁面
利用第三個(gè)客戶端代理技術(shù)最大的好處就是減輕了服務(wù)端的WebServices請(qǐng)求壓力,我寫的那個(gè)Google排名查詢系統(tǒng)很多網(wǎng)友反映數(shù)據(jù)老是出錯(cuò),這我也沒辦法,就是因?yàn)榉?wù)器壓力過大再加上XMLHttpRequest組件的不穩(wěn)定所致,現(xiàn)在通過客戶端代理,壓力全部放在了用戶自己的機(jī)器上,出錯(cuò)幾率當(dāng)然降為最低了。其實(shí)在知道這個(gè)工具之前,我也曾想做個(gè)基于瀏覽器的tag瀏覽小工具,但是還是技術(shù)不行啊,想法也沒人家大膽,經(jīng)驗(yàn)也不足,我怎么沒想到利用url實(shí)現(xiàn)遠(yuǎn)程跨域操作呢?不得不承認(rèn),這個(gè)工具所應(yīng)用的技術(shù)和實(shí)現(xiàn)創(chuàng)意是我至今見過對(duì)AJAX駕驅(qū)最強(qiáng)的,尤其是利用url進(jìn)行跨域操作以及通過XSLT實(shí)現(xiàn)超輕量級(jí)的數(shù)據(jù)庫,堪稱經(jīng)典。相比之下,那些用AJAX只是實(shí)現(xiàn)無刷新讀取數(shù)據(jù)的應(yīng)用現(xiàn)在看起來是那么的粗陋。
本工具基于的這個(gè)客戶端代理技術(shù)請(qǐng)看作者寫的這篇——Creating A Client-Side Web Service Broker
 服務(wù)端代理和客戶端代理比較
 界面截圖
|