JavaScript FAQ(二十三)
二十、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解释器Bookm
相关文档:
对于JavaScript的 Stack overflow at line 错误总结
该错误只在IE中出现,出现该提示的原因主要有两种:
1. 重定义了系统的触发事件名称作为自定义函数名如: onclick / onsubmit ... 都是系统保留的事件名称,不允许作为重定义函数名称。
2. ......
表单的客户端javascript验证有各种各样的写法,登录为form的onsubmit事件或submit按扭写一个函数。对于小表单(只有一两个表单域的表单)就不必再专门再用javascript写一个验证函数了,只需要在form的onsubmit事件里加上:
onsubmit=”return domainname.value==”?(alert(’请输入搜索内容’),false ......
在js中,每个对象都有一个prototype属性:返回对象类型原型的引用。很拗口!习语“依葫芦画瓢”,这里的葫芦就是原型,那么“瓢.prototype” 返回的就是葫芦,或者“瓢.prototype= new 葫芦()”。
prototype的用途:
继承
有一个对象--子类:
function 子类() {
this.lastname = ......