我想为我的扩展使用我自己的控制台,在那里我将打印出各种调试信息。我以为我会这样做
window.open("chrome://myextension/content/console.xul"..
然后打印到该窗口的文本框中。你已经看到这里有问题了吗?=)
现在我有一个小问题,window.open 立即返回,如果我继续并立即使用 myconsole.log("boo") 函数,那么新打开的窗口中的内容还没有加载,我会得到错误。这意味着我必须等待控制台完成加载才能打印到它。正确的做法是什么?我可以在 log 方法中使用 nsITimer 或 thread.sleep 来继续检查它是否已经加载,但我不喜欢这样。我也不知道如何正确使用 window.onload 事件,因为我看到的唯一方法就是像 window.onload = function() { all of my extension code.. } 这样我也不喜欢。
我希望它可以像这样随时随地使用
console = Cc["@myconsole;1"].getService().wrappedJSObject;
console.log("foo");
有什么建议吗?谢谢你的耐心=)