星期四, 五月 14th, 2009
不要被我这个标题给骗啦,其实这还是一个饭否上的 User JS -- fanfou Thread Status。这次的功能其实和上一次的预览饭否的回复消息的 User JS功能类似,只是更进了一步:不只是预览被回复的消息,还能同时回溯预览之前的所有消息,这样看起来的效果就像是“盖楼”咯 :)
P.S. 最近在测试这个脚本的时候还真的见过不少“高楼”的,超过一页的也不少...
既然功能类似,为什么要独立成一个新的脚本呢。主要原因是新的这个脚本修改了源消息链接的默认点击事件,可能会有人不喜欢,所以独立开来,那些没有“看楼”需求的同学可以选择原来的那个简单的脚本。
使用方法:
1、移动至源消息链接上时自动预览之前的所有相关消息;
2、移出源消息链接后则隐藏预览的消息;
3、点击源消息链接后则预览的消息不会自动隐藏,需要点击预览的消息或者预览其他的消息来使当前的预览消息隐藏;增加这个操作主要是由于某些“楼”比较高,需要滚动页面才能看全;
4、双击源消息链接后转到源消息页面。
使用效果:
下载安装:
fanfou Thread Status for Opera
fanfou Thread Status for Firefox (Greasemonkey)
*注意:此脚本不和我之前的预览饭否的回复消息脚本同时安装使用,请在两者中选择一个安装使用。
有问题和建议的话欢迎留言,也可以在饭否上找我。
Posted in JavaScript | 26 Comments »
星期四, 五月 14th, 2009
饭否拍拍是饭否上个月推出的手机客户端,可以很方便的拍照上传。推出后广受好评,顿时涌现出许多“通过饭否拍拍”发出的消息。
虽然我的破手机没法安装(T_T),但是我的饭否好友还是有很多发照片的。不过饭否消息发的是缩略图,手机拍的照片本来就质量不高,一缩略就更看不清了,没办法只能一个一个点开看。为了结束这种痛苦的状态,就写了下面这个 User JS,主要功能是以 Thick Box的方式在当前页面预览消息中图片的大图。
使用效果如下:
点击消息中的图片缩略图,就可以在当前页面预览大图,点击大图或者周围的灰色背景则返回页面
下载安装:
fanfou Thick Pic for Opera
fanfou Thick Pic for Firefox (Greasemonkey)
有问题和建议的话欢迎留言,也可以在饭否上找我。
Posted in JavaScript | 3 Comments »
星期一, 五月 11th, 2009
最近饭否添加了一个新的功能,就是在显示 @ 回复别人的消息时,会同时显示被回复消息的链接,也就是是类似会话的功能。但是,如果需要看到源消息的话需要转到源消息的页面来查看,有点不方便。
我写的这个 User JS 的功能就是给饭否页面加上预览源消息的功能,这个功能的灵感来自于 dofy 给 Twitter 写的 TwittSeven 脚本。
使用效果如下:
把鼠标移至源消息的链接上就会显示源消息
下载安装:
fanfou Reply Status for Opera
同样,我也修改了一个给Firefox 用 Greasemonkey 的版本
fanfou Reply Status for Firefox
更新记录:
2009/05/11 v0.1 初始版本
2009/05/12 v0.2 更新预览消息框的 CSS ,解决长消息的时间戳显示不整齐的问题
有问题和建议的话欢迎留言,也可以在饭否上找我。
Posted in JavaScript | 10 Comments »
星期一, 五月 11th, 2009
玩 Twitter 的同学应该都知道 RT 吧,是 retweet 或 retweeting 之意,也就是引用或者重复别人的信息。我不怎么用 Twitter,但是一直在用饭否,饭否上也有人经常进行 RT ,我觉得这个词用在饭否上好像不太对,应该用 RF 嘛,代表 refanfou, 哈哈
但是如果每次 RF 时手动复制粘贴还要加用户名挺麻烦的,所以就写了这样一个 Opera 的 userJS 脚本。这个脚本没什么其他的作用,就是给 home 页面的每条消息增加一个 RF 的按钮,点击后就可以自动 RF 该条消息了。按钮的样式上偷了个懒,采用的是饭否已经撤销掉的“分享”按钮的样式,不过这样看起来风格也比较一致。
使用方法:
1、在自己的 home 页,点击消息右侧的“分享”按钮,则会将当前消息加上 "RF @XX" 粘贴至发表消息框,并将页面定位至发表框,如果不需要修改则直接点击“发送”按钮转发消息;
2、在其他页面,点击消息右侧的“分享”按钮,则会转到自己的 home 页,同时已经将要转发的内容填至发表框,只需点击“发送”按钮即可转发消息。
使用效果如下:
下载安装:
fanfourf.js for Opera
其实 Opera 的 userJS 和 Firefox 的 Greasemonkey 脚本部分兼容,所以我就顺便改了一个 Greasemonkey 的版本,可以用在 Firefox 上。
fanfourf.user.js for ...
Posted in JavaScript | 10 Comments »
星期三, 十一月 26th, 2008
最近在看John Resig的《精通JavaScript》,作为JQuery的作者之一,技术实力自然不在话下。不过如果仔细看某些源代码的话,还是有些小问题的,也许是作者比较粗心吧,这里是中文版的勘误页面,再版的时候估计会好很多。
趁着读书时的热情,做了一些小的demo来练习,在上一个demo中发现opera浏览器在处理xhtml标签的"disabled"属性时有一个bug。
事情是这样的,我在页面中有一个button元素,我希望它只能被点击一次,所以我在button的click事件中将它的"disabled"属性置为true。这样,点击一次之后,这个button就变成了灰色的不可用状态,我也确实无法再通过鼠标直接点击它了。事情到此都是没有问题的,接下来我希望能用键盘快捷键来控制这个button,于是我给它添加了"accesskey"属性,然后问题就来了,在我点击一次使得button变为不可用状态后,我还是可以通过accesskey来点击它。
我在其他的浏览器上进行了同样的实验,结果表明在我现有的浏览器 (FireFox3, IE8, Safari3/win, Chrome0.4) 上都没有这个bug,除了opera。我目前使用的是opera 9.61版,不过我估计opera以前的版本也存在同样的bug。
进一步实验后,发现opera不只是在处理"accesskey"的点击时有bug,而是在处理除了鼠标直接点击之外的所有其他方式时都存在这个bug。比如在另一个JavaScript脚本里调用这个已经被禁用的button的click函数,甚至通过tab获取button焦点之后连续点击回车,都可以绕过button的disabled属性而触发它的click事件。
我写了一个demo页面来演示这个bug:Button & accesskey
还有要注意的一点就是accesskey在不同的浏览器中的使用方法并不一样。Opera中是通过shift+esc调出accesskey菜单再按相应的accesskey,IE8、Safari3/win以及Chrome0.4则都是使用alt+accesskey。FireFox3中则默认是alt+shift+accesskey,这避免了与浏览器菜单快捷键的冲突,不过可以通过修改about:config的ui.key.contentAccess键值来更改,这个键值的具体含义如下:
1 = Shift
2 = Ctrl
3 = Shift + Ctrl
4 = Alt
5 = Shift + Alt
6 = Alt + Ctrl
7 = Ctrl + Shift + Alt
另外,在做这个demo的时候还发现了IE在处理button按钮时和其他浏览器的不同。在JavaScript脚本中通过element.value来获取button的value属性的值,在IE中得到的是button的innerHTML值,而在其他浏览器中得到的是正确的value属性的值。在网上搜了一下,这个问题有不少人问,解决办法也有不少,有的人建议改用input标签,不过我觉得不符合语义化的要求。还有通过Javascript和xml来解决的,感觉太麻烦了。最后我决定使用button的title属性来存储我需要的值,没办法,妥协一下吧。
Posted in WebDevelop | 3 Comments »