大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > JavaScript技巧 > Javascript 在ie8中报“缺少标识符、字符串或数字

Javascript 在ie8中报“缺少标识符、字符串或数字

关键词:标识符字符串中报缺少数字  阅读(5081) 赞(14)

[摘要]本文是对Javascript 在ie8中报“缺少标识符、字符串或数字“的讲解,对学习JavaScript编程技术有所帮助,与大家分享。

问题再现:

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

解决过程:

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

没办法,只能使用knockout的dubug版本,断点一个一个调试,这个异常发生返回的信息挺丰富:

image

attr:{ class: IsEmailVerification() ? 'right' : 'error' }这句,一想就明白了,class这个在ie中有问题,改过来,果然异常消失了。后来在到knockout官网查询怎么绑定class,原来标准的写法是用css,然后再返回className赋值,自己写的不标准。ie中javascript的关键字会出现莫名的异常,而且还不好查错。另附javascript的链接http://ilovejsj.iteye.com/blog/468610



相关评论