首页 > 代码库 > javascript 在ie8中报“缺少标识符、字符串或数字“问题再现:

javascript 在ie8中报“缺少标识符、字符串或数字“问题再现:

开发和测试使用Chrome浏览器比较多,客户反馈某个页面打不开,自己用Chrome打开一切正常,用ie8打开,果然页面展现卡在那儿了,并且报了”缺少标识符、字符串或数字“。查看是在knockout中报的错。

碰到这个问题,直接google查ie8 的这个错误,得到最多的结果是ie6、ie7中,json如果最后多一个逗号,就会出现这个异常。赶紧回头查询自己的代码中是否有这样的问题。逗号倒是没发现这种写法,分号倒是有几个结尾没写,顺手改了。甚至把代码复制到http://jsfiddle.net/,使用JSHint验证,保证验证通过。再测,还是这个异常。
  没办法,只能使用knockout的dubug版本,断点一个一个调试,这个异常发生返回的信息挺丰富:

下面写法 报错

<tr   data-bind="attr: {class: $root.getTreegridClass($data)}"  >

class这个在ie中有问题,修改为下面的写法 添加’’

<tr   data-bind="attr: {‘class‘: $root.getTreegridClass($data)}"  >

javascript 在ie8中报“缺少标识符、字符串或数字“问题再现: