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