有谁知道自v3.0.5以来可能发生了什么变化,可以使扩展工作?或者,也许我错过了某个地方的设置?我编写了这个附加程序,它适用于较新的版本,但我无法在较旧的版本中启动它。具体来说,我甚至无法获得这部分工作(这是我的浏览器overlay.xul):无法获得ff扩展在v3.0.5中工作
<html:script>
<![CDATA[
var Cc = Components.classes;
var Ci = Components.interfaces;
var obSvc = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
gBrowser.consoleService = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService);
gBrowser.log = function(msg){
this.consoleService.logStringMessage(msg);
}
gBrowser.newObj= new MyAddOn();
gBrowser.log("initializing...");
function regListener()
{
obSvc.addObserver(gBrowser.newObj, "http-on-modify-request", false);
}
function unregListener()
{
obSvc.removeObserver(gBrowser.newObj, "http-on-modify-request");
}
window.addEventListener("load", regListener, false);
window.addEventListener("unload", unregListener, false);
]]>
这应该附加侦听到新的OBJ(通过链接的定义。 js)但是,我甚至没有在控制台中看到“初始化...”消息。有任何想法吗?
错误控制台中的任何输出? ctrl-shift-J – MatrixFrog 2010-12-23 03:02:17
如果我在about:config中没有记错,那么必须将javascript.options.showInConsole属性设置为true才能看到控制台中的错误,这可能是错误的。无论如何,如果它不帮助做到以下几点:把警报('一些消息');在每行之后(明显改变每次发生的消息)和运行浏览器时得到的最后一条消息是错误出现的位置(在代码后面)。我知道它不是那么复杂,但对于像这样的小代码,它是最快的调试技术 – Mihailo 2010-12-23 10:30:12