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+‘ ></div></a></div></div>‘;
13         });
14         this.pElement.html(result);
15     };
16     this.execute();
17 };

然后我对json串进行了长度测试:

chrome环境中:

ie8环境中:

所以问题的根源找到了,为何会导致这样的结果我想罪魁祸首应该是json串中最后一个逗号,至于原因我想应该与浏览器内核与js执行引擎有关。

时间: 2024-10-04 03:10:41

ie8——为空或不是对象的问题的相关文章

JQuery EasyUI IE浏览器出现‘Rowspan’ 为空或不是对象

环境: EasyUI 1.4.2. 现象: 在使用JQuery EasyUI 的datagrid控件时,使用动态指定columns的方式,相关代码如下: $("#topApList").datagrid({columns:[[ {field:'aaa',title: 'aaa',align: 'center',width: 130}, {field:'bbb',title: 'bbb',align: 'center',width: 100}, ]] }); 在IE8浏览器中打开该页面时

IE浏览器报错 ‘Rowspan’ 为空或不是对象

摘自   http://blog.csdn.net/zxygww/article/details/46635403 环境: EasyUI 1.4.2. 现象: 在使用JQuery EasyUI 的datagrid控件时,使用动态指定columns的方式,相关代码如下: $("#topApList").datagrid({columns:[[{field:'aaa',title: 'aaa',align: 'center',width: 130},  {field:'bbb',title

ExtJS 在IE7下报 isModel为空为空或不是对象

刚开始以为是兼容性问题--后来,发现居然是自定义的data数据多了个逗号.本来定义了多个数据,有一次把后面几条数据删除了,保留下来的最后一条数据后面的逗号没去掉.--! ExtJS 在IE7下报 isModel为空为空或不是对象,码迷,mamicode.com

$.browser.msie&#39; 为空或不是对象

'$.browser.msie' 为空或不是对象,这个是jQuery错误 出现这个错误,是因为升级了jQuery版本,从1.9以前升级到1.9以后,因为$.browser.msie在1.9以后的jQuery中不存在了,所以报错. jQuery 1.9 移除了 $.browser 的替代方法$.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,

(异常) Microsoft JScript 运行时错误: &#39;Sys.Extended.UI&#39; 为空或不是对象.

我的错误形式 (异常) Microsoft JScript 运行时错误: 'Sys.Extended.UI' 为空或不是对象. 我的修改办法 把<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> 改为 <ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1"

ie8 js编译器对象为空或不是对象的一个小问题

昨天在遍历json串的时候碰到了如下图所示的问题,除ie8以下版本的浏览器运行都是正常的, 部分代码如下: 1 var Workmodel=function(){ 2 model_json=[ 3 {"name":"工作台","state":"工作台说明","img_src":"res/images/icon1.png","_background":"rgb

Js判断为空或不是对象或是否相等

var a1;        //a1的值为undefinedvar a2 = null;var a3 = NaN; var a4=""; var a5=''; var var a6 = new Object(); alert(a1 == a2); //显示"true" undefined与null相等 alert(a1 == a3); //显示"false" alert(a2 == a3); //显示"false" aler

document.all.WebBrowser为空或不是对象

项目中也想用这个功能,发现出错,经过测试,一定要加<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>这句才行噢!! -----以下内容摘至网上----- 在不是js打开的页面上按window.close(), 会有提示框,很烦,现在可以不用了,没有提示框直接关闭窗口.试试下面代码: <

Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good

引言 接口是面向对象程序语言中一个很重要的元素,它被描述为一组服务的集合,对于客户端来说,我们关心的只是提供的服务,而不必关心服务是如何实现的:对于服务端的类来说,如果它想实现某种服务,实现与该服务相关的接口即可,它也不必与使用服务的客户端进行过多的交互.这种良好的设计方式已经受到很广泛的应用. 早在Delphi 3的时候就引入了接口的概念,当时完全是因为COM的出现而诞生的,但经过这么多版本的进化,Delphi的接口已经成为Object Pascal语言的一部分,我们完全可以用接口来完成我们的