ie8——為空或不是對象的問題


昨天在遍歷json串的時候碰到了如下圖所示的問題,除ie8以下版本的瀏覽器運行都是正常的,

部分代碼如下:

 1 var Workmodel=function(){
 2     model_json=[
 3         {"name":"工作台","state":"工作台說明","img_src":"res/images/icon1.png","_background":"rgb(21, 183, 211)","_url":"#"},
 4         {"name":"工作台","state":"工作台說明","img_src":"res/images/icon2.png","_background":"rgb(235, 73, 75)","_url":"#"},
 5         {"name":"工作台","state":"工作台說明","img_src":"res/images/icon3.png","_background":"rgb(230, 119, 27)","_url":"#"},
 6         {"name":"工作台","state":"工作台說明","img_src":"res/images/icon4.png","_background":"rgb(50, 50, 50)","_url":"#"},
 7     ];
 8     this.execute=function(){ 
 9         this.pElement=$("#right-top .content");
10         this.result="";
11         $.each(model_json,function(a,b){ 
12             result+='<div class="mod" style="background:'+b._background+'"><a href='+b._url+'><div class="mod-left"><div class="name">'+b.name+'</div><div class="text">'+b.state+'</div></div><div class="mod-icon"><img src='+b.img_src+' alt=""></div></a></div></div>';
13         });
14         this.pElement.html(result);
15     };
16     this.execute();
17 };

然后我對json串進行了長度測試:

chrome環境中:

ie8環境中:

所以問題的根源找到了,為何會導致這樣的結果我想罪魁禍首應該是json串中最后一個逗號,至於原因我想應該與瀏覽器內核與js執行引擎有關。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM