火输主页
火输论坛
词库管理
开发火输
其他项目
浏览源码
文档帮助
屏幕截图
guest_A.TNG
2009-6-14 18:16
请教,如何调试Firefox extension?
想学习一下FireInput的代码,不过有个疑问,不知道如何调试Firefox Extension?每次修改完*.js/*.xul,总是需要重起Firefox,新的改动才能生效,有不重起Firefox就能应用当前改动的方法么?

感谢。:)
guest_A.TNG
2009-6-14 18:21
回:请教,如何调试Firefox extension?
对于上一个问题,似乎只要在地址栏定位到对应的*.xul (例如:chrome://fireinput/xxxx/overlay.xul),每次修改完以后,刷新即可应用所有的改动。

对了,还有个问题,FireInput很神奇,每次高亮网页里面的输入框,只要输入,选字的panel就会弹出来,不知道这个是怎么实现的,能不能简单说说,这样找代码也方便。

非常感谢了。:)
班长
2009-6-15 6:44
回:请教,如何调试Firefox extension?
代码在Fireinput.js 里的:
keyPressListener: function(event)
{
....
从1545行: fireinput.js
}

guest_A.TNG
2009-6-15 11:51
回:请教,如何调试Firefox extension?
恩,多谢,继续钻研。
班长
2009-6-17 2:08
回:请教,如何调试Firefox extension?
好, 如有什么问题请继续写在帖子里. 也许bug就这样被发现了.
guest_A.TNG
2009-7-3 14:09
回:请教,如何调试Firefox extension?
还想请教一下,Fireinput是如何将keyPressListener绑定到网页中的输入框上面的呢?

多谢。
guest_A.TNG
2009-7-4 13:25
回:请教,如何调试Firefox extension?
看到fireinput.js中有个函数toggleFireinput,通过判断:
var pos = FireinputPrefDefault.getIMEBarPosition();
var id = document.getElementById("fireinputIMEBar_" + pos);
var toggleOff = forceOpen == undefined ? !id.hidden : !forceOpen;

如果toggleOff为false则通过window.addEventListener来监听keypress事件,捕捉用户的输入;如果toggleOff为true则不监听keypress事件。

不太明白的地方是下面这句没怎么看懂:
var toggleOff = forceOpen == undefined ? !id.hidden : !forceOpen;

能不能帮忙解释一下,非常感谢。:)
guest_A.TNG
2009-7-4 14:44
回:请教,如何调试Firefox extension?
明白了。

原来是监听keypress事件后,通过判断event.explicitOriginalTarget或者event.target,如果target是合法的input控件,则显示FireInput的输入面板,如果不是合法的控件,则不显示FireInput的输入面板。

加跟贴:

 
笔名:
电子邮箱:(不会公开)
内容:

支持BBcode: [b][/b], [i][/i], [u][/u], [url=][/url], [img][/img], [size=][/size], [color=][/color]

Copyright © 2009, The Fireinput Project.