javascript - Firefox addon sdk 浏览器控制台便利性问题

标签 javascript firefox-addon firefox-addon-sdk

我需要调试sdk扩展,但是浏览器控制台非常不方便,因为它位于单独的窗口中。所以我找到了一些将输出放置在 webconsole 中的解决方案,但这有点令人不愉快。

const { getTabContentWindow, getActiveTab } = require('sdk/tabs/utils');
const { getMostRecentBrowserWindow } = require('sdk/window/utils');
var tab = getActiveTab(getMostRecentBrowserWindow())
console.error(tab) // browser console
let content = getTabContentWindow(tab)
content.wrappedJSObject.console.log("TAB ", tab); // web console

这里我们在网络控制台中看到消息。但我认为应该有更明确的决定。

UPD。 对我来说,问题是浏览器控制台位于单独的窗口中,对我来说太不方便了。想一想,以下两种解决方案之一是合适的:

  • 将输出重定向到网络控制台。
  • 以某种方式在 Firefox 窗口中“移动”浏览器控制台。

非常感谢任何帮助。

最佳答案

but browser console is very unconvinient because it is in separate window.

这听起来更像是问题在于您的桌面管理或使用模式,而不是插件 SDK。考虑使用并排窗口排列或将控制台移至不同的显示器。您还可以通过将 --jsconsole 添加到 firefox 参数,在启动期间立即打开它。

Web 控制台实际上仅适用于特定于页面的内容。要调试全局事物,例如插件脚本,您应该使用浏览器控制台。

另请注意,您的方法在 e10s 下会崩溃。

关于javascript - Firefox addon sdk 浏览器控制台便利性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39436082/

相关文章:

javascript - 如何让用户能够添加另一个选择数据?

javascript - 创建事件监听器以从 localStorage 中删除对象

javascript - 用于向页面添加 .css 和 .js 文件的 Firefox 附加组件

javascript - 使用 Firefox 扩展公开文件写入网页

javascript - 使用 JSON API 根据用户点击事件检索数据

javascript - 我将如何编写正则表达式来获取任何输入字符串并仅输出字母?

sqlite - FireFox附加组件中最后一次从SQLite插入的ID

javascript - iFrame 中的 SelectionContext - 访问属性 ‘getSelection’ 的权限被拒绝

javascript - Firefox 插件 : How to fire event when page load *starts*?

javascript - 打开任务栏中没有图标的窗口