【问题标题】:Console.log is not logging strings, only objectsConsole.log 不记录字符串,只记录对象
【发布时间】:2017-10-19 08:32:13
【问题描述】:

在 Firefox 中开发 WebExtension 时,并非所有“console.log”语句都有效。 在下面的示例中,只有最后一个 console.log 执行显示了控制台中的对象引用。以前的所有都不起作用。

console.log('TEST');
let divs = content.querySelectorAll('.myclass'); // content is a div
for(let div of divs){
    console.log(div.id);
    console.log("bla", div.id);
    console.log(div);
}

【问题讨论】:

  • 我们看不到您的 HTML。有id 出席吗?
  • 是的,有一个id。
  • edit 成为主题的问题:包括一个minimal reproducible example 重复问题。对于 Chrome 扩展程序或 Firefox WebExtensions,您几乎总是需要包含您的 manifest.json 和一些背景、内容和/或弹出脚本/HTML,通常是网页 HTML/脚本。寻求调试帮助的问题(“为什么我的代码没有按我想要的方式工作?”)必须包括:(1)期望的行为,(2)特定的问题或错误以及(3)重现它所需的最短代码在问题本身中。另请参阅:What topics can I ask about here?How to Ask

标签: javascript firefox-addon console.log


【解决方案1】:

您需要使用 JSON.stringify() 才能看到实际的字符串

for(let div of divs){
    console.log(div.id);
    console.log("bla", div.id);
    console.log(JSON.stringify(div));
}

【讨论】:

  • 也许我不够具体。您更改的最后一个 console.log 工作正常。所有以前的都没有记录任何东西。
  • 对其他人也一样
【解决方案2】:

我去了 about:config 页面并更改了一些搜索“日志”字符串的设置(日志级别和 extensions.logging.enabled 布尔值)。重新启动浏览器后,日志记录正在工作。我确信这要归功于 extensions.logging.enabled 设置。

我试图回溯并找到更改它的设置,但在恢复所有设置并再次重新启动浏览器后它仍然有效。

事实证明,重新启动浏览器会有所帮助,尽管切换这些设置可能会使其正常工作。 所以问题可以结束了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2016-05-11
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2018-08-14
    相关资源
    最近更新 更多