今天接到问题,说一个页面JS效果在IE7中失效了。
先去看了下页面,FF和CHROME中是正常的,IE中却没反应。很奇怪,因为这段JS是在JQuery的基础上写的,按说JQ的兼容性很好啊,那么是哪里出了问题呢?
想了想也没有头绪,无意中瞟了一眼那个JS文件,发现有段代码被注释掉了,正好是JSON格式的一段。
平时很注意JSON格式的“,”,因为这里最容易出问题。仔细一看,果然,最后一个“,”没有注释掉,赶快改过来,SVN UP后,一切恢复正常。
事后又试了一下,总结如下:
JSON格式的代码格式如
json = { a: 1, b : 2, c:3 }
内容用“,”分开,最后一个不应该有“,”如果在这上面有错误的话,在IE6,IE7中会报脚本错误的提示并无法运行,但IE8和FF却默认为正常,^_^
遇到另一个问题类似这样子:
<label >
<input type="radio" value="a" />
</label>
当你点击label时radio就被选中了,但后来发现在IE6中不行(万恶的IE6啊!)
只有给label加上FOR时才能在IE6中有效,但因为是程序读出来的,没有name或者ID,所以不行。
没办法,只好把input 的click事件写在了label里,并在JS中调整IE6的这个问题,这次天下终于太平了。。。