用js丰富你的书签功能

美味书签furlcocomment等服务,都具备利用书签按钮“一键提交”的功能,其实一点儿也不复杂,只要你掌握了在收藏夹中使用js的方法,就可以为你的书签工具栏增色不少。

本文主要测试于firefox浏览器下,ie浏览器应该同理可用。

首先要发挥js在书签中的最大作用,你要知道如何让你的firefox工具栏显示出来,并且在书签项目上点击右键可以修改他们的内容。

在下面的例子中,所有的代码都需要填写在书签项目的Location栏中,并且为了浏览方便,部分内容我进行了分行,而在填到书签项目中的时候一定要合并成一行才行。

先来一个最简单的例子,只包含一个js函数:

javascript:alert(document.lastModified);

点击这个书签项目,将会弹出一个提示框,显示当前网页的生成时间。

如果要修改页面上的内容,然后提交,javascript就要复杂一些了:

javascript: (   function()     {       document.Form1.id.value=’001′;       document.Form1.name.value=’fwolf’;       document.Form1.Submit();     } ) ();

基本原理是:function()是定义了一个函数,它外面加了一对儿()是对这个“无名”函数的引用,后面那对()是引用函数时的参数(没有参数)。上面的代码执行效果就是向网页中指定表单填写内容,然后自动提交。

如果要修改网页上的内容,但是不作提交等动作,仍然显示当前网页,上面那个例子中的方法就不管用了,需要再作一些调整:

javascript: void(   (     function()     {       p=document.getElementById(‘LOGPASS’);       p.readOnly=0;     }   )   () );

就是把上面那个例子中的内容用void()再包含了一遍,也就是整体作为一个不返回内容的函数体来执行了,如果不这样,直接使用上面那个例子的方式来作这些的话,网页内容会显示function()的返回值。如果把void直接加到function上或者他外层的()上道理上应该也可行,但我没有测试。

怎么样,想到什么好的鬼点子没有?上面的最后一个例子就是我在使用建设银行个人网银的时候鼓捣出来的,他的登录页面默认是不让手工输入密码的,而是通过一个js的软键盘,而软键盘的js代码在ff下无法正确执行。现在通过这种方式,我能够成功在ff中登录建行个人网银了,只可惜他内部的功能页面对js依赖很强,并且同样在ff下无法正确执行,所以最终还是要在ie下才能够正常使用。但相比之下,比其他的个人网银要借助activex才能输入密码的方式兼容性已经好很多了。

参考:

  • [CSS裸奔节之强制脱衣](312)
  • [Yahoo!相册上传会产生重复图片问题的解决](313)
  • [Javascript的匿名函数](http://dancewithnet.com/2008/05/07/javascript-anonymous-function/)

update @ 2006-11-28

如果使用这种方法,又同时使用Google Browser Sync来同步书签,记得一定要把location更改为一行(ubuntu下location其实是可以输入多行内容的,粘贴过来即可,并且还能够用上下键选择行进行编辑),不然Google Browser Sync在同步的时候,这项书签会丢失的。

3 thoughts on “用js丰富你的书签功能”

Leave a Reply

Your email address will not be published. Required fields are marked *