近期做了一个需求,功能非常easy,把用户的优惠券数量读取出来,然后显示到“用户中心”上。开发完毕后。别的浏览器正常。可是到IE8上就不行了。并且,按下F12之后,就又能够载入出来了。

首先,找了前端人员,看了看,没有找到原因,她怀疑是脚本冲突,只是忙了半天,还是没有搞定。

其次,换浏览器,来回折腾。

最后,思考了一下,在加这个功能之前,数据也是那样子读取的,用ajax请求后台数据,然后写入到页面的指定标签中,那么为何自己加了一个类似的数据 就不行了呢? 于是,alert了前后的參数。最后发现,在迭代的那一步。alert失效了。可是在console.log()代码之前,是能够的,会不会是这个函数的影响呢?果不其然,去掉console.log()之后。恢复了正常!

代码例如以下:

			$(document).ready(function(){
$.ajax({ url: "/ucenter/getAccountByUserId.action", type: "POST",
success : function(data) {
var json = eval('(' + data + ')');
$.each(json, function (key, value) {
if(data != "" && data != null){
$("#em_account").html("¥" + (value.account).toFixed(2));
$("#em_backCount").html("¥" + (value.backCount).toFixed(2));
$("#em_freezeBackCount").html("¥" + (value.freezeBackCount).toFixed(2));
$("#em_freezeAccount").html("¥" + (value.freezeAccount).toFixed(2));
// 设置优惠券数量
var couponStr = "";
// IE8 不支持! console.log("[debug]couponCount : " + value.couponCount);
if(value.couponCount > 0){
couponStr = "<a href='/ucenter/queryCoupon.action' style='color:#DD4F11'>"+value.couponCount+"</a>";
}else{
couponStr = value.couponCount;
}
$("#em_couponCount").html(couponStr);
}
});
}
});
});

感悟:碰到异常,要理清思路之后。再去採取行动。既然曾经的几个数据。都是用相同的方式读取的,那为何自己加了一个就不行了呢?除了加了类似的代码,还加了什么代码呢? 不就是console.log()吗?非常好定位的一个思维方式,却折腾了那么久,太不应该了。

注:IE8/IE9要先按F12开启IE Dev Tools才干存取console物件。

假设使用环境包括IE8/9,请养成良好习惯。用if (window.console) { ... }包住console.log()动作,切忌把IE8/9想成Chrome/Firefox。以为永远有window.console可用。

对于一个IE8兼容性问题的反思的更多相关文章

  1. CSS- ie6,ie7,ie8 兼容性写法,CSS hack写法

    css ie6,ie7,ie8 兼容性写法,CSS hack写法 margin-bottom:40px;       /*ff的属性*/margin-bottom:140px\9;    /* IE6 ...

  2. bootstrap IE8 兼容性处理

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  3. IE8兼容性经验小结

    DOCTYPE 首先需要确保HTML页面开始部分要有DOCTYPE声明.DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响: 1.对标记,attributes, ...

  4. ie8兼容性总结

    DOCTYPE 首先需要确保你的HTML页面开始部分要有DOCTYPE声明.DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响: 对标记.attributes ...

  5. 记录遇到的IE8兼容性问题汇总

    1,伪元素:first-child不起作用,需要单独指定样式名称 2,透明度表示方法,尤其在函数中表示 @mixin opacity($value) { -webkit-opacity: $value ...

  6. IE8兼容性调试及IE 8 css hack

    做网站开发,一提到IE,就会让人头大,有一肚子的牢骚要发:微软为什么不跟着国际标准走呢,总是独树一帜,搞出那么多问题来.IE的firebug调试工具也不太好用,尤其是低版本的IE,更是让人头疼. 最近 ...

  7. 常见IE8兼容性问题及解决

    1.css3媒体查询 IE8不支持媒体查询 解决:respond.js,在页面中所有css文件的引用位置之后引用Respond.js 2.HTML5新标签 IE8不支持H5新标签 解决:html5sh ...

  8. IE8兼容性问题

    由于业务的需要,我们竟然还要支持IE8,听着就让人很心酸呀.不过在进行适配的过程中,会发现还是有一定规律的,基本上帮相关问题改了,页面也就能正常显示了.下面就总结下对IE8适配过程中所进行的修改. 1 ...

  9. Jquery IE8兼容性

    环境: jsp+jquery-1.11.1.min.js 问题描述: 使用$("#article标签id名").append(“xxxxxxxxx") ,chrome.f ...

随机推荐

  1. HDU 2035.人见人爱A^B-快速幂

    人见人爱A^B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. 二叉树学习三:AVL树

    1.AVL树: 1)其左子树(TL)与右子树(TR)是AVL树: 2)|HL-HR|<=1,其中HL和HR是TL和TR的高度: 3)高度为h的AVL树,结点数2*h-1. AVL树查找,插入,删 ...

  3. Dijkstra【p3003(bzoj2100)】[USACO10DEC]苹果交货Apple Delivery

    Description 贝西有两个又香又脆的红苹果要送给她的两个朋友.当然她可以走的C(1<=C<=200000)条"牛路"都被包含在一种常用的图中,包含了P(1< ...

  4. 加密连接工具Cryptcat

    加密连接工具Cryptcat   Cryptcat是网络工具Netcat的加密版本.Cryptcat支持TCP.UDP两种网络协议.它可以在两个计算机之间建立指定的连接,并使用特定的密钥对传输数据进行 ...

  5. [OpenJudge8786][暴力DP]方格取数

    方格取数 总时间限制: 1000ms 内存限制: 65536kB [描述] 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): ...

  6. java bean对象拷贝

    Java的bean的属性复制,大家可以都看一下. 谈谈Java开发中的对象拷贝http://www.wtnull.com/view/2/e6a7a8818da742758bcd8b73d49d6be2 ...

  7. JNI之Hello World!

    基本流程: 1. 创建一个类(HelloWorld.java)2. 使用 javac 编译该类3. 利用 javah -jni 产生头文件4. 用本地代码实现头文件中定义的方法5. Run 备注:在一 ...

  8. Redis核心解读

    http://www.wzxue.com/redis核心解读/

  9. [功能]点击ImageView进入页面,时间响应者链实现

    app点击一个按钮跳转到另外一个控制器非常常用,但是如果是点击的是UIImageView如何通过模态视图进入另外一个控制器呢?万一这个UIImageView在自定义的cell或者view里面,那该如何 ...

  10. 【docker】查看docker镜像的版本号TAG,从远程仓库拉取自己想要版本的镜像

    要想查看镜像的版本好TAG,需要在docker hub查看 地址如下:https://hub.docker.com/r/library/ 进入之后,在页面左上角搜索框搜索, 例如搜索redis 搜索完 ...