小书签

小书签（），又叫书签小程序，是一种小型的程序，以網址（URL）的形式被存为浏览器中的书签，也可以是网页上的一个链接。小书签的英文名，Bookmarklet是由Bookmark和Applet组合而来。无论小书签以什么形式储存，它们都是用来给浏览器或是网页添加一些特定功能的。点击时，小书签会执行这些操作，包括执行搜索，导出数据等等。小书签一般是JavaScript程式。

历史 
bookmarklets.com的Steve Kangas发明了bookmarklet这个词，之后他在Netscape的JavaScript指南中的某些内容上产生了自己的创意。最早的一个词语是favelet在2001年9月6日被坦塔克·塞里克所使用。而在Netscape发明JavaScript的布蘭登·艾克这样说明小书签的来历：

概念 
浏览器使用隶属于<a>标签的href的URI标签来存储书签。浏览器用URI前缀，例如http:、file:、或是ftp:来确定协议以及请求剩余字符串的格式。

浏览器也能像执行其它前缀一样执行javascript:。在内部处理时，当浏览器检查到协议为JavaScript，就将后面的字符串作为JavaScript脚本来执行，并用执行结果产生一个新页面。

脚本可以在当前页面执行，这样就能引用和修改当前页面的元素。如果脚本返回了undenfined类型（而不是字符串等），浏览器就不会载入新页面而是直接在当前页面内容上运行Javascript脚本。可以用这个方法在不刷新页面的情形下修改页面内容，比如字体/颜色等。

以下的匿名函数可以用来强制脚本返回undenfined类型：
javascript:(function(){
/* Statements returning a non-undefined type, e.g. assignments */
})();

用途 
小书签的存储与使用和普通书签一致。如同它们的名字，小书签是一种十分易用的工具。例如：

 修改网页的外观（修改字体大小，背景颜色等）
 从网页中提取某些数据（链接，图片，文本等）
 将当前页面提交到博客平台（例如Posterous、Tumblr），社会化网站（例如Facebook、Twitter），缩短链接服务（bit.ly、su.pr等）或是书签服务（Delicious）
 快速调用搜索引擎搜索当前页面选中的文字
 将网页提交到链接检测服务，或是在线翻译服务
 设置某些页面本身不能修改的功能

安装
小书签一般是通过创建一个新书签并将代码粘贴入URL栏而实现的。现代浏览器中也可把链接形式的小书签直接拖拽到书签栏中，此后小书签就可以像打开普通书签一样正常运作了。

例子 
以下示例小书签可以在浏览器窗口中以维基为搜索引擎搜索选定的文字。正常情况下以下的小书签可以被安装在浏览器书签栏中。选中文字后即可点击这个小书签以执行搜索。

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('输入维基百科搜索关键字',''); open('http://zh.wikipedia.org' + (s ? '/w/index.php?title=Special:Search&search=' + encodeURIComponent(s): '')).focus();

参见 
 Greasemonkey
 iMacros
 Ubiquity

参考文献

外部链接 
 
 
 
 

JavaScript
網站開發