本文出处原文链接 转载请注明出处 http://www.cnblogs.com/havedream/p/4519538.html

问题来源:最近在学习easyui,观看的视频教程是孙宇的《EASYUI入门视频教程》  (点我下载),里面提到了console.info()这种方法,今天恰好遇到一位同事写的程序出现了不兼容IE的问题,或者说不兼容IE9及其以下版本浏览器,但是在google和火狐中运行良好,代码如下:

    onBeforeLoad: function (row, param) {
if (row) {
console.info(row.cenCi);
if(row.cenCi==0){
$(this).treegrid('options').url = *************************************;
}else if(row.cenCi==1){
if(row.isInject){
// alert("Inject");
$(this).treegrid('options').url = *********************************;
}else{
// alert("CITY-SRM");
$(this).treegrid('options').url = ***********************************;
} } } else{
$(this).treegrid('options').url = ***************************;
}
}

这是treeGrid的一个方法,点击之后加载某一行的子节点,但是就是这一部分代码,在IE9及以下版本出现问题。

问题描述:每次在IE9中打开页面,点击节点,发现没反应,然后F12,控制台调试,再次点击,问题消失了。。。。再次点击,发现怎么点击能打开,关闭控制台也没问题,但是每次重新打开浏览器就会有描述的问题。

解决方法:最开始我以为是onBeforeLoad的问题,这个方法在不同浏览器中的支持也是不一样的,不过后来发现即使我修改其他的方法,结果还是一样的,然后就开始怀疑关于console了,其实孙宇的课程中明确说了,console.info()在IE是会出错的,但是百度之后,发现自从IE8之后IE就已经支持console这种方法了,具体用法参见这里, 但是为什么孙宇老师说IE出错呢?仅仅是指的IE8之前的版本吗,我就仔细看了一下MSDN window.console具体的解释,其中有一句这样的话,

看到这里才恍然大悟,原来console.info()是需要打开一次控制台才能支持的,或者说在IE当中是不应该直接写console.info()的。

最终的代码应该是这样的

if (window.console){

  console.info(row.cenCi);
}

其实最好的习惯是:调试结束后直接删除这句话!发布干净的代码!

IE中console的正确使用方法的更多相关文章

  1. SpringBoot 中 @RequestBody的正确使用方法

    SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping(&q ...

  2. Spring MVC中Session的正确用法<转>

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  3. 【转】Spring MVC中Session的正确用法之我见

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  4. Spring MVC中Session的正确用法之我见

    Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...

  5. 关于vue中的videoPlayer的src视频地址参数动态修改(网上一堆错误方法,被误导很久,自己找到了正确的方法,供大家借鉴)

    方法很简单:相信大家的问题应该是改变src的值吧,动态赋值这一步简单.this.playerOptions['sources'][0]['src'] 就是这一步解决提取src问题,主要部分用绿色框起来 ...

  6. 正则表达式中的exec和match方法的区别

    正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...

  7. C#中dynamic的正确用法

    C#中dynamic的正确用法  http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...

  8. C++中内存泄漏的检测方法介绍

    C++中内存泄漏的检测方法介绍 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复. 最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck, ...

  9. .NET Core中使用RabbitMQ正确方式

    .NET Core中使用RabbitMQ正确方式 首先甩官网:http://www.rabbitmq.com/ 然后是.NET Client链接:http://www.rabbitmq.com/dot ...

随机推荐

  1. C++学习10 static静态成员变量和静态成员函数

    一般情况下,如果有N个同类的对象,那么每一个对象都分别有自己的成员变量,不同对象的成员变量各自有值,互不相干.但是有时我们希望有某一个或几个成员变量为所有对象共有,这样可以实现数据共享. 可以使用全局 ...

  2. crm plugin 未能加载文件或程序集“xxxx,”或它的某一个依赖项。系统找不到指定的文件。

    plugin运行出错. 1  plugin文件如果是 注册到disk,应该是注册到 C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembl ...

  3. Problem 1274 - 可怜的lpx

    Problem 1274 - 可怜的lpx Time Limit: 1000MS   Memory Limit: 65536KB    Description 可怜的lpx终于在别人的帮助下追上了aq ...

  4. Grunt 之 使用 JavaScript 语法检查工具 jshint

    前端开发环境准备好了,我们准备开始进行开发. 前端开发的主力语言是 JavaScript,这是一种脚本语言,没有编译器,也就没有了编译器带给我们的语法检查,怎样保证代码的质量呢?jshint 是一个强 ...

  5. mysq 因断电而导致的错误

    问题来源: 昨天断电,而我没有保存,导致出现以下问题: 2015-10-12 10:48:10 7300 [Note] Plugin 'FEDERATED' is disabled. 2015-10- ...

  6. jmeter随笔(7)--查看请求响应,为空

    问题:查看请求响应,为空 解决办法: 1.在jmeter3.0版本上找到请求,在[Advanced]下勾选"从HTML文件获取所有内含的资源" 2.运行查看,结果如下

  7. 【测试】trunc和round的区别

    trunc是截断:round是四舍五入:下面通过一个例子具体看一下trunc和round的不同 SQL),trunc() from dual; TRUNC() TRUNC() ------------ ...

  8. SSH Secure Shell Client的傻瓜式使用方法

    说明:本记录仅是使用此软件的一种简单的操作方式,如果想深入研究,请做如下三件事: 1)到其官网了解她的前世今生 2)下载她.安装她.操作她(这一步需要不断的尝试.不断的深入.不断的探索,当然最好理论结 ...

  9. SQL语句基础知识

    1.关于SQL语句中exists与not exists的问题 course表如下:课程代号 课程名称 K01 奥运会主题曲 K02 喜爱的专辑 K03 VB技术大全 K04 经典歌曲 K05 个人单曲 ...

  10. JS的文本编辑框jwysiwyg-0.6

    一款轻量的用js写的文本编辑框.