业务系统中出现一个前台 JavaScript 错误,但在本机开发测试时一切正常。多次测试后发现报错的浏览器是 IE8,而本机测试的是 Chrome 和 IE9 却能正常运行。
经跟踪调试后发现,错误是在一个自定义类的属性上,这个属性名是:switch,而 switch 又刚好是 JS 的关键字。看来是 IE8 判断错误导致。
写个代码测试一下:
var o = { true:1 };
alert(o.true);果然,只在 IE8 及以下版本中报错,IE9 和其它内核浏览器都可正常运行:弹出消息框,显示1
虽然是 IE8 的 Bug ,不过用关键字来命名的确是个不好的习惯,一定要改正。
备忘备忘!
本文描述了一个业务系统中出现的JavaScript错误,在IE8浏览器中由于使用了关键字'switch'作为变量名而导致的问题。该错误在其他现代浏览器如Chrome和IE9中未出现。通过调整变量名称,成功解决了此兼容性问题。
988

被折叠的 条评论
为什么被折叠?



