为什么 Firefox 黑盒我的 js 文件

Why is Firefox black-boxing my js files

我遇到了这种奇怪的行为。 Mozilla firefox 阻止了我的两个 js 文件。调试器说 "The Source is black boxed"。它发生在 zRSSfeed.js 和 Wow.js 尽管哇动画正在工作。查看屏幕截图。

请告诉我如何不仅在我的计算机上而且在访问该站点的其他人上防止这种情况。

Screenshot

查看本页页脚中的 rss 提要: 演示:Website

据我所知This Link这是不可避免的。

并且根据来自多个论坛的以下声明,它不会影响您的应用程序工作。

In modern web development, we often rely on libraries like jQuery, Ember, or Angular, and 99% of the time we can safely assume that they “just work”. We don’t care about the internal implementation of these libraries: we treat them like a black box. However, a library’s abstraction leaks during debugging sessions when you are forced to step through its stack frames in order to reach your own code. With black boxing, you can tell the debugger to ignore the details of selected sources.

当源被黑框时:

它可能具有的任何断点都被禁用。 在 Debugger 设置中启用“Pause on Exceptions”时,当黑盒源中抛出异常时,调试器不会暂停;相反,它将等到(如果)堆栈展开到非黑盒来源的帧。单步执行时,调试器将跳过黑盒源。

SOURCE

我认为这篇文章中有一些对您有用的信息: https://wiki.mozilla.org/DevTools/Hacking

对于这些 js 文件中的某些黑框源元素,您似乎没有 "black-boxed" class。

可能是这样的代码

if (aSource.isBlackBoxed) {
contents.classList.add("black-boxed");
}

可以帮助您解决这个问题

这不是黑拳的问题(我猜)。这个问题是由我在另一个js文件中添加的代码引起的

if(localStorage.getItem('popState') != 'shown'){
    setTimeout(popup, 14000);           
    function popup() {
        $('.cd-popup').addClass('is-visible');
    }
    localStorage.setItem('popState','shown')
}

它在所有其他浏览器中都能完美运行,但 firefox 出于某种原因返回错误,弹出函数(第 2 行)未定义,所以我将其更改为

if(localStorage.getItem('popState') != 'shown'){
    function popup() {
        $('.cd-popup').addClass('is-visible');
    }
    setTimeout(popup, 14000);
    localStorage.setItem('popState','shown')
}

现在一切正常。感谢您的帮助。

更简单的方法。

if(localStorage.getItem('popState') != 'shown'){
  setTimeout(function(){$('.cd-popup').addClass('is-visible')}, 14000);
  localStorage.setItem('popState','shown')
}