javascript - 检查控制台是否存在

标签 javascript jquery asp.net

我正在写一个插件。为此,我将记录一些内容,例如警告、necc 内容等。为了记录它们,我将使用控制台,但如果某些浏览器不支持控制台,则可能会出现错误。为了处理这个错误,我正在考虑使用以下代码:

    if (typeof console == 'undefined') console = {};
if (typeof console.log == 'undefined') console.log = function() {};
if (typeof console.debug == 'undefined') console.debug = function() {};
if (typeof console.info == 'undefined') console.info = function() {};
if (typeof console.warn == 'undefined') console.warn = function() {};
if (typeof console.error == 'undefined') console.error = function() {};

这行得通还是有更好的选择?

最佳答案

你的做法是正确的。不过,您可以稍微缩短它:

if(typeof console === "undefined") {
    console = {
        log: function() { },
        debug: function() { },
        ...
    };
}

这允许您使用 console.log/console.debug etc无需首先检查是否定义了控制台对象。如果您正在登录,我建议始终包含此代码片段,因为很容易忘记删除它,并且如果不存在控制台,它会破坏您的网站。

关于javascript - 检查控制台是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6036377/

相关文章:

javascript - $injector.modulerr 问题

javascript - http 请求方法中的回调 - 未按正确顺序发生

javascript - 简单的 jQuery 和 Knockout.js 示例

c# - 隐藏字段值不在 IE 中呈现

javascript - 跨平台文件 API - 打开和列出文件夹

javascript post 不执行功能但加载 url

javascript - jquery 选项卡打开具有特定类的选项卡

javascript - JS : Performing another keypress event

c# - 2nd Page_Load 上的 NullReferenceException

c# - 如何在.net core 2.2 的启动文件中注册polly?