对于一个IE8兼容性问题的反思
近期做了一个需求,功能非常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兼容性问题的反思的更多相关文章
- CSS- ie6,ie7,ie8 兼容性写法,CSS hack写法
css ie6,ie7,ie8 兼容性写法,CSS hack写法 margin-bottom:40px; /*ff的属性*/margin-bottom:140px\9; /* IE6 ...
- bootstrap IE8 兼容性处理
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- IE8兼容性经验小结
DOCTYPE 首先需要确保HTML页面开始部分要有DOCTYPE声明.DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响: 1.对标记,attributes, ...
- ie8兼容性总结
DOCTYPE 首先需要确保你的HTML页面开始部分要有DOCTYPE声明.DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档,具体会影响: 对标记.attributes ...
- 记录遇到的IE8兼容性问题汇总
1,伪元素:first-child不起作用,需要单独指定样式名称 2,透明度表示方法,尤其在函数中表示 @mixin opacity($value) { -webkit-opacity: $value ...
- IE8兼容性调试及IE 8 css hack
做网站开发,一提到IE,就会让人头大,有一肚子的牢骚要发:微软为什么不跟着国际标准走呢,总是独树一帜,搞出那么多问题来.IE的firebug调试工具也不太好用,尤其是低版本的IE,更是让人头疼. 最近 ...
- 常见IE8兼容性问题及解决
1.css3媒体查询 IE8不支持媒体查询 解决:respond.js,在页面中所有css文件的引用位置之后引用Respond.js 2.HTML5新标签 IE8不支持H5新标签 解决:html5sh ...
- IE8兼容性问题
由于业务的需要,我们竟然还要支持IE8,听着就让人很心酸呀.不过在进行适配的过程中,会发现还是有一定规律的,基本上帮相关问题改了,页面也就能正常显示了.下面就总结下对IE8适配过程中所进行的修改. 1 ...
- Jquery IE8兼容性
环境: jsp+jquery-1.11.1.min.js 问题描述: 使用$("#article标签id名").append(“xxxxxxxxx") ,chrome.f ...
随机推荐
- HDU 2035.人见人爱A^B-快速幂
人见人爱A^B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 二叉树学习三:AVL树
1.AVL树: 1)其左子树(TL)与右子树(TR)是AVL树: 2)|HL-HR|<=1,其中HL和HR是TL和TR的高度: 3)高度为h的AVL树,结点数2*h-1. AVL树查找,插入,删 ...
- Dijkstra【p3003(bzoj2100)】[USACO10DEC]苹果交货Apple Delivery
Description 贝西有两个又香又脆的红苹果要送给她的两个朋友.当然她可以走的C(1<=C<=200000)条"牛路"都被包含在一种常用的图中,包含了P(1< ...
- 加密连接工具Cryptcat
加密连接工具Cryptcat Cryptcat是网络工具Netcat的加密版本.Cryptcat支持TCP.UDP两种网络协议.它可以在两个计算机之间建立指定的连接,并使用特定的密钥对传输数据进行 ...
- [OpenJudge8786][暴力DP]方格取数
方格取数 总时间限制: 1000ms 内存限制: 65536kB [描述] 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): ...
- java bean对象拷贝
Java的bean的属性复制,大家可以都看一下. 谈谈Java开发中的对象拷贝http://www.wtnull.com/view/2/e6a7a8818da742758bcd8b73d49d6be2 ...
- JNI之Hello World!
基本流程: 1. 创建一个类(HelloWorld.java)2. 使用 javac 编译该类3. 利用 javah -jni 产生头文件4. 用本地代码实现头文件中定义的方法5. Run 备注:在一 ...
- Redis核心解读
http://www.wzxue.com/redis核心解读/
- [功能]点击ImageView进入页面,时间响应者链实现
app点击一个按钮跳转到另外一个控制器非常常用,但是如果是点击的是UIImageView如何通过模态视图进入另外一个控制器呢?万一这个UIImageView在自定义的cell或者view里面,那该如何 ...
- 【docker】查看docker镜像的版本号TAG,从远程仓库拉取自己想要版本的镜像
要想查看镜像的版本好TAG,需要在docker hub查看 地址如下:https://hub.docker.com/r/library/ 进入之后,在页面左上角搜索框搜索, 例如搜索redis 搜索完 ...