`

javascript IE浏览器下console未定义、console.log报错解决方案

阅读更多

javascript IE浏览器下console未定义、console.log报错解决方案

 

================================

©Copyright 蕃薯耀 2019年5月5日

http://fanshuyao.iteye.com/

 

一、问题描述:

当在IE浏览器8、9未打开浏览器的控制台时,使用

console.log('aa');

会出现console“未定义”的错误。

 

原因是:低版本IE6/7/8/9浏览器是没有定义console对象的,所以代码会中断执行而报错。

 

二、解决方案

1、方式一:输出前先判断有没有window.console对象,有则输出。

if(window.console){
  console.log("xxx");
}

 或者这样写(网上找的,和上面的原理一样):

window.console && console.log('xxx');

 

 

2、方式二:在没有定义window.console对象时,定义一个对象返回,避免console对象未定义

window.console = window.console || (function(){
    var c = {}; 
    c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
    return c;
})();

 在console.log调用前定义上面的方法。

使用方式二比较好,方便以后调试和IE浏览器控制台输出。其实可以结合方式一、方式二一起用,即先定义方法,后面调用再判断对象存在不存在,存在后再使用,但一般不需要这样,有点麻烦。

 

 

================================

©Copyright 蕃薯耀 2019年5月5日

http://fanshuyao.iteye.com/

1
0
分享到:
评论
1 楼 蕃薯耀 2019-05-05  
console未定义
console.log报错解决方案
console.log未定义
javascript IE浏览器下console未定义

======
蕃薯耀

相关推荐

    JSON.stringify()报错:JSON未定义

    标题中的“JSON.stringify()报错:JSON未定义”是一个常见的JavaScript错误,通常出现在尝试使用`JSON.stringify()`方法但全局环境中没有定义JSON对象时。在浏览器环境中,JSON是默认支持的,但在某些旧版本的IE...

    完美解决IE9浏览器出现的对象未定义问题

    在本文中,我们将深入探讨如何完美解决在Internet Explorer 9(IE9)浏览器中遇到的“对象未定义”错误。这种问题通常是由于浏览器的兼容性问题、JavaScript代码执行顺序、或者资源加载顺序不当所引起的。以下是一些...

    解决vb连接sqlite3.dll报错

    解决vb连接sqlite3.dll报错,安装32版本驱动程序解决,在VB工程添加连接字串DRIVER=SQLite3 ODBC Driver;Database=处理

    ie9 提示'console' 未定义问题的解决方法

    就像你在部分内容中提到的,可以创建一个模拟的`console`对象,这样即使在`console`未定义的情况下,代码也不会报错。这个模拟对象会将所有`console`方法的调用重定向到空函数: ```javascript window.console = ...

    IE中兼容模式下JSON未定义

    在IE浏览器中,有时会遇到“JSON未定义”的错误,特别是在使用兼容模式或者较旧版本的IE时。这是因为JSON(JavaScript Object Notation)是ECMAScript 5引入的一个内置对象,而在IE8及以下版本中并未原生支持JSON。...

    javascript 在firebug调试时用console.log的方法

    window.console = window.console || {}; console.log || (console.log = opera.postError); ``` 这段代码会确保即使在未定义`console.log()`的环境中,也能将消息传递给Opera的错误处理机制`opera.postError`。 总...

    consolepolyfill能放心的使用consolelog之类的console方法

    例如,旧版IE浏览器的低版本可能不支持`console`对象,导致在这些浏览器中使用`console`方法会抛出未定义的错误。这就是`console-polyfill`发挥作用的地方。当检测到目标环境不支持`console`对象时,`console-...

    ESLint报错解决方案.docx

    ### ESLint报错解决方案 #### 问题描述 在使用ESLint的过程中,可能会遇到一个常见的错误:“error: No ESLint configuration found”。此错误通常出现在项目的构建过程中或开发环境中,例如使用Visual Studio ...

    node.js中的console.error方法使用说明

    该方法与 console.log() 相同,只是向标准错误流输出。 语法: 代码如下: console.error([data], […]) 接收参数: console.log接受若干个参数,如果只有一个参数,则输出这个参数的字符串形式。 如果有多个参数,...

    java,html,jquery,js各种报错解决方案

    3. **jQuery**:jQuery是一款简化JavaScript操作的库,其报错通常与选择器错误、DOM操作、插件冲突等有关。"jquery"文件可能包含jQuery的错误处理技巧和最佳实践,如使用$(document).ready()确保DOM加载完成后再执行...

    GETLASTERR返回值的意义

    本文将详细介绍`GETLASTERR`返回的各种错误代码及其具体含义,帮助开发者更好地诊断和解决问题。 #### 错误代码及含义 1. **0**:未知或未指定的错误。 2. **1**:非法功能。 3. **2**:系统无法找到指定的文件。 ...

    一道关于JavaScript变量作用域的面试题_.docx

    JavaScript变量作用域是编程语言中一个非常核心的概念,它决定了变量在何处可被访问以及其生命周期。在这道面试题中,我们看到的是如何在不同...通过解决这类问题,我们可以更深入地掌握JavaScript的变量作用域规则。

    ie9 提示’console’ 未定义问题的解决方法

    百思不得其解,后来在代码中增加下面代码: 代码如下: window.console = window.console || (function(){ var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profi

    json2.js json未定义的解决方案!

    本文将深入探讨在使用json2.js时遇到"json未定义"错误的解决方案,以及如何正确使用json.parse方法。 首先,"json未定义"的错误通常发生在尝试调用JSON对象的函数,如`json.parse()`或`json.stringify()`时,但JSON...

    【JavaScript源代码】JavaScript高级程序设计之变量与作用域.docx

    JavaScript是一种广泛应用于网页和网络应用的脚本语言,它的核心特性之一是变量和作用域的概念。在深入探讨这些概念之前,我们先理解一下原始值和引用值的区别。 1、原始值与引用值 JavaScript中有六种原始数据...

    【JavaScript源代码】JavaScript中箭头函数与普通函数的区别详解.docx

    JavaScript中的箭头函数和普通函数在使用上有显著的差异,这些差异主要体现在以下几个方面: 1. **函数定义的简洁性**: - 箭头函数的语法更紧凑,可以视为匿名函数的一种简写形式。如果函数体只包含一个表达式,...

    在JavaScript中使用对数Math.log()方法的教程

    在JavaScript中,`Math.log()`方法是一个非常有用的数学函数,它用于计算给定数值的自然对数。自然对数是以自然常数e(约等于2.71828)为底的对数。这个方法在处理指数运算、概率、统计、科学计算以及各种数学问题时...

    jsp版ewebeditor 内涵自己总结的错误修改方法

    - EWebEditor主要基于IE浏览器开发,对于其他现代浏览器,可能存在兼容性问题。确保你的项目中包含了适当的polyfill库,以支持ES5及以下的语法特性。 - 对于非IE浏览器,可以考虑使用EWebEditor的HTML5版本或者...

    你有必要知道的 25 个 JavaScript 面试题

    // 报错,因为 `this` 未定义 console.log("inner func: self.foo=" + self.foo); // 输出 "inner func: self.foo=bar" })(); } }; myObject.func(); ``` - **解释**:在这个例子中,`this` 在不同的上下文...

    《实战ES2015:深入现代JavaScript 应用开发》.pdf

    Promise用于处理异步操作,提供了比传统的回调函数更优雅的解决方案。例如: ```javascript const promise = new Promise((resolve, reject) => { setTimeout(() => resolve('Done!'), 1000); }); promise....

Global site tag (gtag.js) - Google Analytics