zoukankan      html  css  js  c++  java
  • IE中console的正确使用方法

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

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

     1    onBeforeLoad: function (row, param) {
     2              if (row) {
     3               console.info(row.cenCi);
     4               if(row.cenCi==0){
     5                $(this).treegrid('options').url = *************************************;
     6               }else if(row.cenCi==1){
     7                 if(row.isInject){
     8 //                 alert("Inject");
     9                  $(this).treegrid('options').url = *********************************;
    10                 }else{
    11 //                 alert("CITY-SRM");
    12                  $(this).treegrid('options').url = ***********************************;
    13                 }
    14                 
    15               }
    16               
    17              } else{
    18                $(this).treegrid('options').url = ***************************;
    19              }
    20          }

    这是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);
    }

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

  • 相关阅读:
    又是一年毕业季——程序员的苦与乐
    你的团队需要一个正确的程序集(dll)管理姿势
    说一说Web开发中两种常用的分层架构及其对应的代码模型
    理解RESTful API
    一文回顾Redis五大对象(数据类型)
    Redis对象——有序集合(ZSet)
    Redis对象——集合(Set)
    Redis对象——列表(List)
    Redis对象——哈希(Hash)
    Redis数据结构——quicklist
  • 原文地址:https://www.cnblogs.com/havedream/p/4519538.html
Copyright © 2011-2022 走看看