IE中console的正确使用方法
本文出处原文链接 转载请注明出处 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的正确使用方法的更多相关文章
- SpringBoot 中 @RequestBody的正确使用方法
SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping(&q ...
- Spring MVC中Session的正确用法<转>
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...
- 【转】Spring MVC中Session的正确用法之我见
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...
- Spring MVC中Session的正确用法之我见
Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置性,其设计处处透露着易用性.可复用性与易集成性.优良的 ...
- 关于vue中的videoPlayer的src视频地址参数动态修改(网上一堆错误方法,被误导很久,自己找到了正确的方法,供大家借鉴)
方法很简单:相信大家的问题应该是改变src的值吧,动态赋值这一步简单.this.playerOptions['sources'][0]['src'] 就是这一步解决提取src问题,主要部分用绿色框起来 ...
- 正则表达式中的exec和match方法的区别
正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...
- C#中dynamic的正确用法
C#中dynamic的正确用法 http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...
- C++中内存泄漏的检测方法介绍
C++中内存泄漏的检测方法介绍 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复. 最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck, ...
- .NET Core中使用RabbitMQ正确方式
.NET Core中使用RabbitMQ正确方式 首先甩官网:http://www.rabbitmq.com/ 然后是.NET Client链接:http://www.rabbitmq.com/dot ...
随机推荐
- ARM开发板挂载U盘
ARM开发板运行Linux系统后,插入U盘,通过串口打印系统识别到U盘如下: 系统识别U盘盘符为sda4 那么需要挂载后才能操作U盘:挂载命令 mount -t vfat /dev/sda4 /mnt ...
- OC基础(22)
NSMutableString基本概念 NSMutableString常用方法 NSMutableString练习 *:first-child { margin-top: 0 !important; ...
- MFC学习 序列化
void CArchiveView::OnWrite() { // Archive就是可序列化的类, 要头文件中DECLARE_DYNCREATE(CArchiveDoc) // 重写 virtual ...
- C#中char[]与string之间的转换
string 转换成 Char[] string ss = "abcdefg"; char[] cc = ss.ToCharArray(); Char[] 转换成string st ...
- TestCase--搜索&查询模块
一般地,电商网站的搜索模块都是一个搜索字段的输入框和一个搜索按钮组成 如下所示: 而电商网站的后台系统,如erp.wms等系统,一般都会有下方的查询模块 其中包括:时间选择框.下拉框.输入框等 如下所 ...
- 【Unity Shaders】学习笔记——SurfaceShader(七)法线贴图
[Unity Shaders]学习笔记——SurfaceShader(七)法线贴图 转载请注明出处:http://www.cnblogs.com/-867259206/p/5627565.html 写 ...
- Effective Modern C++翻译(4)-条款3:了解decltype
条款3 了解decltype decltype是一个有趣的东西,给它一个变量名或是一个表达式,decltype会告诉你这个变量名或是这个表达式的类型,通常,告诉你的结果和你预测的是一样的,但是偶尔的结 ...
- 【LeetCode】11. Container With Most Water
题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...
- 无法读取配置节“protocolMapping”,因为它缺少节声明
无法读取配置节“protocolMapping”,因为它缺少节声明 1.正常情况 : Web.config文件中有protocolMapping节点, 发现在IIS部署时使用了.NET 2.0的 ...
- Spring Boot导出jar包发布
一:事由 现在的项目组开发项目使用的是Spring Boot的技术,开发的时候是直接通过一个入口主函数来启动项目的.如果将项目交给客户,怎样才能正确的发布运行呢?百度了一下有关的知识,大概了解到是通过 ...