IE9的JS引擎解析小问题
刚解决完项目在IE9下的样式问题,又发现有一段JS在IE9下不能正确执行。
本机木有IE9环境,挂上最新的IETester,发现新建IE9选项卡也是灰色的,一查发现还需要安装IE9才能使用,真是坑爹,都自己装IE9了还要这个选项卡干毛用呢!!!
只好在别人机器上调试下了,跟踪一下了。在如下代码处出现问题:
View Code
if ($("#tags_box").html() != '') {
$("#tags_box").show();
}
else {
//do sth
}
发现 $("#tags_box").show()执行时跳到了引用的JQuery插件的类库JS中去了,还以为是方法调用问题呢,因为插件中也重写了show方法,把整个方法拿出来问题依然没解决,才发现原来是IE9把层'<div id="tags_box">
</div>'的$("#tags_box").html()方法解析为: "/n ",导致判断逻辑出现问题。把相关html改为:<div id="tags_box"></div> 问题解决。
IE多版本前端真是个问题,呼呼;
PS: 隔年于1月31日在查找另外一个JS问题时候,发现这不光是IE9下的问题,详见: http://www.cnblogs.com/snandy/archive/2011/04/07/2007561.html