Archive for February, 2008

给不支持热键的firefox扩展添加热键支持

本来这篇文章的题目是“给Ie View Lite添加热键支持”的,后来我发现这个方法其实是适用于绝大部分扩展的。
所以便改成了现在这个题目。
对于浏览一些firefox不兼容的网站我原先一直是用Ie View 这个扩展的,后来听说这玩意太耗资源就卸掉了,转
而装了它的简化版本Ie View Lite 。

但是这个扩展是不支持热键(快捷键)的,对于我这种经常用笔记本电脑上网且不用鼠标来的人说是很不方便的。
我的需求是当我遇到需要用Ie打开的网页可以直接用热键调用Ie打开网页。
于是我便琢磨着怎么能让这个扩展支持热键,我首先是直接给Ie View Lite 的作者写email让他加入这个功能或者
告诉我这个扩展的修改方法。但是他回信说没有时间弄这个,然后告诉我firefox的扩展是interpreted(应该翻译
成解释性吧),把xpi文件的后缀名改为zip,解压后便是扩展的源代码了。
然后我便试着解压后看了一下,感觉修改源代码也不简单。然后想再去网上搜搜看有没有别的方法可以实现我的需
求。结果找到这篇文章:Hacking a 100% zoom feature onto NoSquint with KeyConfig 。这篇文章主要就是介
绍如何使用KeyConfig(注1)这个扩展对No Squint (一个可以为不同网站指定字体大小的扩展,firefox必装扩展之
一,强烈推荐)扩展里的一些特定函数进行热键绑定,方便浏览各种字体大小不一样的网站。

受到这篇文章的启发,我试着在Ie View Lite的源代码里查找Ie View Lite的调用函数,结果我在ieviewOverlay.xul这
个文件里找到下面这一段代码:
<popup id=”contentAreaContextMenu”>
<menuitem id=”pagecontext” label=”View This Page in IE” oncommand=”ieview.launch(gBrowser.currentURI.spec)”/>
<menuitem id=”linkcontext” label=”Open Link Target in IE” oncommand=”ieview.launch(gContextMenu.getLinkURL())”/>
</popup>
其中”View This Page in IE”不正显示在我的firefox的右键菜单上吗,那它所对应的命令
“ieview.launch(gBrowser.currentURI.spec)”
应该就是我想找的那个在ie中打开的函数了。接下来要做的事情就简单了。
首先启动KeyConfig 的设置界面,点解”Add a new key”按钮,给这个热键起个名字,如”Ie View Lite Hotkey”。然后
在下面的代码输入框上添加
ieview.launch(gBrowser.currentURI.spec);
这一语句。最后点击”OK”保存后再绑定一个热键就可以了。
所有说,按照这个方法,你可以给所有扩展的特殊功能都设置热键,只要你会一点编程和javascript的知识,能够在扩展
的代码里找到相对应的命令即可。
注1:在Mozilla的扩展网站上搜索”keyconfig”只能搜到functions for keyconfig 这个扩展,它只是KeyConfig [...]

More »

深圳xbox360严重缺货

过年了,想买台xbox360在家玩。
前两天上万商一看,大部分店里港版或日版都没有货,有一家有港版豪华版,但是价格要37xx,
只好作罢。
另:tgbus在二楼中间租了挺大的一个开放式的店面。

More »