对于一个IE8兼容性问题的反思
近期做了一個(gè)需求,功能非常easy,把用戶的優(yōu)惠券數(shù)量讀取出來(lái),然后顯示到“用戶中心”上。開發(fā)完畢后。別的瀏覽器正常。可是到IE8上就不行了。并且,按下F12之后,就又能夠載入出來(lái)了。
首先,找了前端人員,看了看,沒(méi)有找到原因,她懷疑是腳本沖突,只是忙了半天,還是沒(méi)有搞定。
其次,換瀏覽器,來(lái)回折騰。
最后,思考了一下,在加這個(gè)功能之前,數(shù)據(jù)也是那樣子讀取的,用ajax請(qǐng)求后臺(tái)數(shù)據(jù),然后寫入到頁(yè)面的指定標(biāo)簽中,那么為何自己加了一個(gè)類似的數(shù)據(jù) 就不行了呢? 于是,alert了前后的參數(shù)。最后發(fā)現(xiàn),在迭代的那一步。alert失效了。可是在console.log()代碼之前,是能夠的,會(huì)不會(huì)是這個(gè)函數(shù)的影響呢?果不其然,去掉console.log()之后。恢復(fù)了正常!
代碼例如以下:
$(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));// 設(shè)置優(yōu)惠券數(shù)量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);}});}});});感悟:碰到異常,要理清思路之后。再去採(cǎi)取行動(dòng)。既然曾經(jīng)的幾個(gè)數(shù)據(jù)。都是用相同的方式讀取的,那為何自己加了一個(gè)就不行了呢?除了加了類似的代碼,還加了什么代碼呢? 不就是console.log()嗎?非常好定位的一個(gè)思維方式,卻折騰了那么久,太不應(yīng)該了。
注:IE8/IE9要先按F12開啟IE Dev Tools才干存取console物件。
假設(shè)使用環(huán)境包括IE8/9,請(qǐng)養(yǎng)成良好習(xí)慣。用if (window.console) { ... }包住console.log()動(dòng)作,切忌把IE8/9想成Chrome/Firefox。以為永遠(yuǎn)有window.console可用。
轉(zhuǎn)載于:https://www.cnblogs.com/yutingliuyl/p/7283843.html
總結(jié)
以上是生活随笔為你收集整理的对于一个IE8兼容性问题的反思的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: POJ-2407 欧拉函数
- 下一篇: 云计算机房设备清单报价,射阳县高级中学云