【问题标题】:Object 'unavailable' in Firefox consoleFirefox 控制台中的对象“不可用”
【发布时间】:2017-07-28 12:15:57
【问题描述】:

我有几个带有class='class_name' 的 div,并且还声明了

var A = document.getElementsByClassName('class_name');
console.log(A[0]);

Chrome 控制台显示:

<div class="class_name"> div 1 </div>

Firefox 控制台显示:

<unavailable>

有什么问题或可能的原因是什么?

【问题讨论】:

  • 添加火狐版本。还有一个sn-p
  • 曾经在 Firefox + Firebug 上遇到过类似的问题。原来 Firebug 不再被维护,不得不切换到the Firefox Developer Edition 才能再次获得一个工作控制台。
  • @Sagar V7 - Firefox 版本是 52.0.2(32 位) - 请解释一下“sn-p”是什么意思? Fiddle 或类似的工作示例?
  • @JiFus -Thnx 4 建议 - 奇怪的是 console.log 中的许多其他日志都显示得很好
  • @br00x 我也一样,只是说你可能想试一试。当然也可能只是另一个问题。

标签: javascript html firefox getelementsbyclassname


【解决方案1】:

目前有四种解决方案:

  1. 使用console.log(JSON.stringify(variable, null, 4)) 代替console.info(variable)。这具有捕获由任何类型的内存管理错误引起的错误的额外优势,但它可能会在插入父/子元素时导致实际元素上的循环冗余。我的原创解决方案。

  2. 使用 Firefox Web 控制台(control+shift+KTools-&gt;Web Developer-&gt;Web Console)代替标准 Firefox 浏览器控制台(control+shift+JTools-&gt;Web Developer-&gt;Browser Console)。 感谢 Panos Astithas 提供此信息!

  3. 在 FF 配置中禁用 e10s。转到 about:config 作为 Firefox 中的地址,并将 browser.tabs.remote.autostartloop.remote.autostart 设置为 false。 感谢 Janekptacijarabaci 提供此信息!

  4. 恢复您的 FireFox Quantum 版本。我卸载了 Firefox 57 和 59(“Firefox Quantum”),然后安装了 Firefox 版本 56.0.2。这解决了我的问题。在这里获取:https://ftp.mozilla.org/pub/firefox/releases/56.0.2/我的原始解决方案。

Firefox 开发票:https://bugzilla.mozilla.org/show_bug.cgi?id=1136995

更新:问题仍然存在于 Firefox v. 59.0.2 和 v. 59.0.3。

【讨论】:

  • OP 一开始并没有使用 Firefox 57,因此更改 4 个版本是一个广泛的猜测。
  • @TylerH:我注意到了,但还是谢谢你。 =) 无论哪种方式,您是否尝试过我的解决方案,或者您是否遇到了问题?
【解决方案2】:

两种可能的解决方法:

1)使用“网络控制台”。
“Web 控制台”(CtrlShiftK 而不是“浏览器控制台”Ctrl ShiftJ) 显示预期的输出。

2) 禁用“e10s”多处理器支持:

- about:config
- browser.tabs.remote.autostart = False

如果禁用 e10s,浏览器控制台将显示预期的输出。

回顾(02.01.2018):

问题在 FF 64.0 中仍然存在:
通常,对象在浏览器控制台中将显示为“不可用”。

重现(启用 e10s):

<html><head>
    <script type="text/javascript">
        console.log( 'test' );
        console.log( 123 );
        console.log( [ 1, 2, 3 ] );
        console.log( { x: 'x' } );
        console.log( document.getElementById('myDiv') );
        window.onload = function() {
            console.log( document.getElementById('myDiv') );
        };
    </script>
</head><body>
    <div id="myDiv"></div>
</body></html>

浏览器控制台中的输出(错误输出):

test
123
<unavailable>
<unavailable>
null
<unavailable>

Web 控制台中的输出(如预期):

test
123
Array(3) [ 1, 2, 3 ]
Object { x: "x" }
null
<div id="myDiv">

另请参阅: https://bugzilla.mozilla.org/show_bug.cgi?id=1136995

【讨论】:

    猜你喜欢
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2012-01-05
    相关资源
    最近更新 更多