jquery 从控制台隐藏错误和警告

3ks5zfa0  于 2023-05-28  发布在  jQuery
关注(0)|答案(7)|浏览(191)

在PHP和其他语言中,有一些方法可以抑制错误/警告消息。
在javascript或jquery中有没有一种方法来防止错误和警告被写入控制台日志?

m0rkklqb

m0rkklqb1#

隐藏所有Javascript控制台警告的一种肮脏方法是覆盖控制台对象的warn方法:

console.warn = () => {};

显然,它也适用于其他控制台方法

dluptydi

dluptydi2#

可以在一定程度上处理错误,但如果您没有处理错误,则错误将转到浏览器,并且您无法阻止 * 浏览器 * 显示它。您可以以获得最小错误的方式编写代码,并在可能的情况下使用try-catch来处理异常。

try
{
    //statements suspected to throw exception.
}
catch(e)
{
}
0wi1tuuw

0wi1tuuw3#

在对这个问题做了一些研究和开发之后,我遇到了这个解决方案,它可以根据您的选择隐藏警告/错误/日志。

(function () {
    var origOpen = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function () {        
        console.warn = function () { };
        window['console']['warn'] = function () { }; // For confirmation again
        this.addEventListener('load', function () {                        
            console.warn('Something bad happened.');
            window['console']['warn'] = function () { };
        });        
    };
})();

在JQuery插件之前添加此代码(例如/../jquery. min. js),即使这是不需要JQuery的JavaScript代码。因为一些警告是在jQuery本身。

mbskvtky

mbskvtky4#

Best to user console.clear();在90%的情况下,它会得到解决

yxyvkwin

yxyvkwin5#

这是基于浏览器的功能,你可以安装任何插件的浏览器,然后你可以隐藏错误/警告
我去了about:config的Firefox,把javascript.options.strict设置为false,警告消失了。但我觉得这不是一个解决方案。

howtocreate.co.uk/strictJSFirefox.html
jmo0nnb3

jmo0nnb36#

你只需要简单地添加一些代码块到脚本中,它就会工作。 chrome :

console._commandLineAPI.clear();

Safari:

console._inspectorCommandLineAPI.clear();

您可以创建自己的变量,这在以下两种情况下都有效:

if (typeof console._commandLineAPI !== 'undefined') {
    console.API = console._commandLineAPI;
} else if (typeof console._inspectorCommandLineAPI !== 'undefined') {
    console.API = console._inspectorCommandLineAPI;
} else if (typeof console.clear !== 'undefined') {
    console.API = console;
}

之后,您可以简单地使用

console.API.clear().
ou6hu8tu

ou6hu8tu7#

我通常只是转到包含特定console.log警告的函数的实现并将其注解掉。

相关问题