二十、Bookmarklet
1、什么是Bookmarklet?(What's a Bookmarklet?)
Q:什么是Bookmarklet?
A:Bookmarklet是整个都被包含在超链接URL中的一小段JavaScript程序。(JavaScript URL就是这个样子:<a href="javascript:the code goes here">。)多数浏览器允许用户添加这些JavaScript URL书签,就像添加其他超链接一样。bookmarklet这个词是由Steve Kanga创造的,他也自己开发了许多有用的bookmarklet。下面就是一个简单的例子:后退bookmarklet。
Go-Back Bookmarklet
这个bookmarklet等价于浏览器的后退按钮。点击上面的标题可以预览其效果。在标题上点击右键,(根据浏览器)选择添加书签或者添加到收藏夹,就可以把它添加到你的书签中。
2、Bookmarklets:浏览器支持(Bookmarklets: Browser Support)
Q:那些浏览器支持bookmarklets?
A:下列浏览器都支持bookmarklet:
Netscape Navigator 3.0 及更新版本
Internet Explorer 4.0 及更新版本
并不是所有的bookmarklet都可以在任何浏览器中正常工作。 这是因为不同浏览器对JavaScript的实现不同。要编写一个跨浏览器的bookmarklet:
- 使用所有目标浏览器支持的JavaScript子集。
- 确保bookmarklet代码不会太长。
3、Bookmarklet:最大长度(Bookmarklet: Maximum Length)
Q:Bookmarklet代码的最大长度是多少?
A:Bookmarklet代码的最大长度会根据浏览器的不同而不同。
实验表明,最严格的需求是在IE6.x中。任何代码长度达到510的bookmarklet在IE6中可能都没有办法正常工作。
4、计算器Bookmarklet(Calculator Bookmarklet)
Q:我是否可以在我的书签中有一个计算器?
A:可以,这就是一个计算器bookmarklet。
点击上面的链接,可以预览其效果。要关闭计算器,只需点击它上面的取消按钮。要想把这个计算器添加到你的书签中,在超链接上点击右键,然后(根据浏览器不同)选择增加书签或者添加到收藏夹。
这个bookmarklet在NS4和MSIE4中测试通过。
5、时钟Bookmarlet(Clock Bookmarklet)
Q:我可否在书签中有一个时钟?
A:可以,这就是一个时钟bookmarklet。
这个是时钟会显示你浏览器的状态栏上。点击上面的链接,预览其效果。 要想把这个时钟添加到你的书签中,在超链接上点击右键,然后(根据浏览器不同)选择增加书签或者添加到收藏夹。
这个bookmarklet在MSIE4+、Firefox1.5以及NS4+中测试通过。
6、JavaScript解释器Bookmarklet(JavaScript Interpreter Bookmarklet)
Q:我是否可以创建一个包含JavaScript解释器的bookmarklet?
A:当然可以。实际上,一些JS程序员发现JavaScript解释器bookmarklet十分有用。不仅仅是因为它可以直接执行一行JavaScript代码,它还可以在查看HTML页面时检查代码中的任何变量的状态。这里就是一个JavaScript解释器bookmarklet.
点击上面的链接获取JavaScript解释器输入框。
输入JS变量名,检查其状态。
输入一行代码,执行它。
点击输入框上的取消按钮退出解释器输入框。
要想把这个JavaScript解释器添加到你的书签中,在超链接上点击右键,然后(根据浏览器不同)选择增加书签或者添加到收藏夹。
这个bookmarklet在NS4和MSIE4上测试通过。