- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在普通浏览器中运行的网页中,我们可以使用 console.log()/error()/warn()
将消息打印到 Web 控制台。但是,在 xulrunner 应用程序中运行的页面(html 或 xul)中,似乎 console.log()/error()/warn()
静默丢弃消息。
我设置了这些首选项:
并使用
pref("browser.dom.window.dump.enabled", true);
pref("javascript.options.showInConsole", true);-console
或 -jconsole
选项运行 xulrunner。
那么,是否可以在 xulrunner 应用程序中启用 javascript console.log/error/warn?
我知道 dump()
函数适用于带有 -console
的 xulrunner,但它不是标准的,并且在我的 xulrunner 中运行的网页超出了我的控制应用程序。
有关演示此问题的示例,您可以查看 https://github.com/matthewkastor/XULRunner-Examples.git
,并使用 运行带有网页的“浏览器”应用程序>控制台
。
最佳答案
XULRunner 将丢弃传递给 console.log() 的消息,除非您将调试器附加到它。这可以通过远程调试来实现:XULRunner 作为调试对象,firefox 作为调试器。一旦调试器附加到 XULRunner 应用程序,您就可以在调试器中看到 console.log()ed 消息。
Instruction for remote debgging可以在 MDN 上找到。
您可能还想将 firefox 的 devtools.debugger.remote-enabled
pref 设置为 true
。
在您的应用中使用此代码:
var windowtype = ...
Components.utils.import('resource://gre/modules/devtools/dbg-server.jsm');
DebuggerServer.chromeWindowType = windowtype;
if (!DebuggerServer.initialized) {
DebuggerServer.init();
DebuggerServer.addBrowserActors(windowtype);
}
DebuggerServer.openListener(6000);
如果您的页面是 (x)html,请为 windowtype
分配 null
;如果您的页面是 xul,请为 windowtype
分配与 xul:window
元素的 windowtype 属性相同的值:
<xul:window windowtype=... >
...
</xul:window>
关于javascript - 如何在 xulrunner 应用程序中启用 javascript console.log()/error()/warn()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086998/
我是一名优秀的程序员,十分优秀!