开发者 / 未分类 · 2009年 7月 8日

在对话框中打开WebQQ [Firefox插件]

原创傻瓜级Mozilla Firefox插件——一键调用WebQQ

该插件代码量只有一行,比HelloWorld还简单,但是私觉得总归比“Hello World”要有趣+有用些。该插件是在Firefox的下方状态栏里放入一个按钮,点击按钮,弹出一个对话框,对话框的内容是WebQQ,简单的不能再简单了,但是还是很实用的。

因为Firefox这种带标签的浏览器,如果你WebQQ的所在标签隐藏在后面,消息提示就不能再系统的状态栏里看到;如果单独开个标签把,又觉得多此一举。最好的方法就是弄一个单独的窗口出来,像下载管理那样的,既能看到状态又不用新开FF实例。

平时话说的少,写文字就有点罗嗦,见谅……

工欲善其事,必先利其器,开发Firefox插件最好的工具莫过于Spket IDE,该工具有多种型号供下载,如果你机器上有Eclipse,建议你直接下载Eclipse插件版本即可,才几M而已。装好后你应该能在Eclipse的透视图里找到一个叫Spket IDE的。

1. 新建一个“Firefox Extension Project”叫“WebQQ_quick”

2. 修改install.rdf文件,填写<em:name><em:version><em:description><em:creator><em:id>字段,其中<em:id>要求不能与现有插件冲突,网上有专门生成这个ID的工具。当然只要不冲突用自己的msn地址一般也是可以的。可能还要修改一下<em:maxVersion>为3.5.*以兼容3.5的Firefox。

3. 在Content文件夹下有个名为i“WebQQ_quick.xul”的文件,修改其内容为

<overlay id=”mywebqq” xmlns=”http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul”>
<statusbar id=”status-bar”>
<button label=”WebQQ” oncommand=”openDialog(‘http://web.qq.com’)” />
</statusbar>
</overlay>

4. 在chrome.manifest文件的最下面添加一行“overlay chrome://browser/content/browser.xul chrome://WebQQ_quick/content/WebQQ_quick.xul”。

5. 然后直接运行build.xml, 即可在dist目录下看到xpi和jar文件,二话不说把xpi文件拖入Firefox,正常情况下,就能在下面的状态栏看到一个写着“WebQQ”按钮了。

点它,稍等几秒钟,一个内含WebQQ的对话框就会出来了,恭喜你也写了一个Firefox插件了。

————MyDoumail.js——————

function loadDoumail(){
var win = openDialog(‘http://www.douban.com/doumail’);

win.oldtitle=win.document.title;

var titleString = “title”;
window.setInterval(function(){
if(titleString.indexOf(“收件箱”) != -1){
win.location.reload();
}
},30000);

window.setInterval(function(){
titleString = win.document.getElementById(‘wrapper’).getElementsByTagName(“h1”).item(0).firstChild.nodeValue;
win.document.title=titleString;
},5000);
}