IE8/9的console之坑

这几天遇到个深坑,在改别人代码时,发现ajax在ie8下请求不成功。清理了缓存后,可以请求成功!(清理缓存只是表象而已,后文说原因)

后来慢慢看代码,发现ajax成功回调了!在success回调里,我发现了大量console语句,于是开始怀疑console这个对象!

查到资料,发现ie8下只有在打开控制台的情况下,console才会被注入!

所以,建议使用console时加上下面这段代码:

if (window.console){
// Add console commands here.
}

这样报错立马消失。

参考资料:https://msdn.microsoft.com/zh-cn/library/gg589530(v=vs.85).aspx

时间: 2024-10-04 15:01:42

IE8/9的console之坑的相关文章

IE8下提示'console'未定义错误

在开发的过程中由于调试的原因,在代码中加入console.info("xxxx"),而未进行删除 在IE8下测试该代码所在的页面报错,如下: 需要注意的是,使用console对象查看对象信息,在IE8浏览器下未打开开发人员工具(F12)的情况下 会报'console'未定义错误. 解决办法:1.打开开发人员调试工具(F12)                    2.注释掉该代码 IE8下提示'console'未定义错误

ie8不支持console.log()的解决方法

1.在ie8(其他版本没测)下用console.log('abc') 在控制台调试会报错,如下图: 2.解决方法 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(){};

解决 IE8 不支持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;})(); //放在<script></script>

IE8下提示&amp;#39;console&amp;#39;没有定义错误

在开发的过程中因为调试的原因,在代码中增加console.info("xxxx"),而未进行删除 在IE8下測试该代码所在的页面报错,例如以下: 须要注意的是,使用console对象查看对象信息,在IE8浏览器下未打开开发者工具(F12)的情况下 会报'console'没有定义错误. 解决的方法:1.打开开发者调试工具(F12)                    2.凝视掉该代码 3.或者增加例如以下代码 window.console = window.console || (fu

让IE兼容console——“由于出现错误80020101而导致此项操作无法完成”的解决方案

问题描述 经测试发现问题只出现在: 1.原生IE8(其他版本IE模拟出的IE8无此问题) 2.从打开IE8没有开启过F12(曾经开启过又关闭的无此问题) IE8报错“由于出现错误80020101而导致此项操作无法完成”,进而导致当前页面无法显示,同时整站所有页面都无法加载. 问题分析-IE8没有console对象 从上述症状分析,猜测应该跟IE8的开发者工具有关,说明代码中使用了IE开发者工具中提供的API接口或功能,而在没有开启F12时,因为没有相应接口导致报错. 通过开启F12发现输出了in

ie8下$(document).on(&#39;mouseover mouseout&#39;,&#39;ul li&#39;,function(){})的bug

$(document).on('mouseover mouseout','ul li',function(){ if (event.type == 'mouseover') {           console.log($(this));      }else if(event.type == 'mouseout'){           console.log($(this));      } }); 上述代码在IE8下会console多个结果,在代码末端添加return false可解决问

JQuery操作TABLE,及console.info问题。

还用alert 吗?看看console.info吧,代码的测试平台:ie9, firefox12 ?1. [代码][JavaScript]代码<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title>&l

IE 8 下小心使用console.log()

我们很多情况下会使用console.log() 对代码调试.在chrome下和Firefox下都不会有太大问题,但是在最近我在IE8 下调试时使用了console.log(),就出现一些问题.在IE8中要想使用它调试代码必须要先开启F12,如果不开启F12,在浏览器的下方就会显示报错.那是因为IE8会将console.log()默认处理为错误逻辑,但是在F12下处理为控制台输出.比较有意思的是,但我们将F12关闭,刷新页面,IE8 仍然将console.log()处理为控制台输出,即打开过一次F

Vue学习 第2天 又看了个教程,加深理解

http://study.163.com/course/courseMain.htm?courseId=1003606075 五点多就醒了,睡不着,干脆再看篇教程 慕课网的有个好处,Html5播放可设置1.75甚至2倍速度,精力集中些,虽然加速了,但能听懂,省不少时间 网易云课堂的只能按 -> 去快进,有时漏了关键点又得倒回来看,不方便 Vue确实是个好框架,比想像中容易上手多了,看了3个教程后,再翻翻官网的文档,已经算入门了.虽然从新项目中完整弄一套出来还心里没底,但看别人项目的代码应该是没问