小書籤
小書籤是一種Applet,即一種小型的程序,以URL的形式被存為瀏覽器中的書籤,或是網頁上的一個連結。小書籤的英文名,Bookmarklet是由Bookmark和Applet組合而來。無論小書籤如何以什麼形式儲存,它們都是用來對瀏覽器或是網頁添加一些特定功能的。點擊時,小書籤會執行這些操作,從執行搜索到導出數據。小書籤一般是JavaScript應用程式。
概念
瀏覽器使用隸屬於<a>
標籤的href
的URI標籤來存儲書籤。URI前綴,例如http:
, file:
, 或是ftp:
來確定協議以及請求剩餘字符串的格式。
瀏覽器也能像執行其它前綴一樣執行javascript:
。瀏覽器在內部將協議處理為JavaScript, 並將剩餘的字符串作為JavaScript腳本來執行,並把執行結果作為新頁面
腳本的執行可作用於當前頁面,也可能變化。如果腳本返回了undenfined類型(而不是字符串等),瀏覽器就不會載入新頁面而是簡單直接的在當前頁面內容上運行。這樣就允許修改頁面內容,比如字體/顏色而無需刷新頁面。
以下的匿名函數可以用來強制腳本返回undenfined類型:
javascript:(function(){
/* Statements returning a non-undefined type, e.g. assignments */
})();
用途
小書籤的存儲與使用和普通書籤一致。如同它們的名字,小書籤是一種十分易用的工具。例如:
- 修改網頁的外觀(修改字體大小,背景顏色等)
- 從網頁中提取某些數據(連結,圖片,文本等)
- 將當前頁面提交到博客平台(例如Posterous, Tumblr),社會化網站(例如Facebook, Twitter),縮短連結服務(bit.ly, su.pr 等)或是書籤服務(Delicious)
- 快速調用搜尋引擎搜索當前頁面選中的文字
- 將網頁提交到連結檢測服務,或是在線翻譯服務
- 設置某些頁面本身不能修改的功能
安裝小書籤一般是通過創建一個新書籤並將代碼粘貼入新建書籤的URL欄而實現的。現代瀏覽器中也可把連結形式的小書籤直接拖拽到書籤欄中,此後小書籤就可以像打開普通書籤一樣正常運作了。
歷史
bookmarklets.com的Steve Kangas發明了 "bookmarklet" 這個詞[1],之後他在網景的JavaScript指南中的某些內容上產生了自己的創意。最早的一個詞語是favelet在2001年9月6日被Tantek Çelik所使用。而在網景發明JavaScript的Brendan Eich這樣說明小書籤的來歷:
“ | They were a deliberate feature in this sense: I invented the javascript: URL along with JavaScript in 1995, and intended that javascript: URLs could be used as any other kind of URL, including being bookmark-able.
In particular, I made it possible to generate a new document by loading, e.g. |
” |
——Brendan Eich,email to Simon Willison[2] |
例子
以下示例小書籤可以在瀏覽器窗口中以維基為搜尋引擎搜索任何高亮的文字。正常情況下以下的小書籤可以被安裝在[3]瀏覽器書籤欄中。選中文字後即可點擊這個小書籤以執行搜索。
javascript:function se(d) {return d.selection ? d.selection.createRange().text : d.getSelection()} s = se(document); for (i=0; i<frames.length && !s; i++) s = se(frames[i].document); if (!s || s=='') s = prompt('Enter%20search%20terms%20for%20Wikipedia',''); open('http://en.wikipedia.org' + (s ? '/zhwiki/w/index.php?title=Special:Search&search=' + encodeURIComponent(s) : '')).focus();
參見
參考文獻
- ^ 域名bookmarklets.com註冊於1998年4月9日
- ^ Willison, Simon. Email from Brendan Eich. SitePoint. April 10th, 2004.
- ^ Mozilla Firefox, Opera, Safari, 和Chrome上運行且不支持IE. 原始來源:Alex Boldt
外部連結
- Bookmarklets - Tool Categories. Bookmarklets.com.
- Bookmarklet – 小书签,实用浏览器小工具补完. 小眾軟體.