最近在写代码时遇到一个问题, 使用underScore来插入模块, 结果模块在谷歌浏览器上正常展示,可是IE浏览器上却不会展示出来. 于是开始了筛查BUG, 查的过程中发现, 结构数据有返回, 获取数据的方法也获取到了正常的数据. 也就是说: _.template(viewModel)(dataOpt); 这里面的dataOpt是有正确的值的, 那问题应该就不是出现在(dataOpt)数据上, 有可能是出现的(viewModel)上面. 后来查看了一下IE解析出来的viewModel果然结果不完整. 再进入html模块里面仔细查看, 原来在html模块里面多了个DIV, 所以导致IE渲染不出这个模块.
查出来之后,我只能感叹CHROME的容错性能真不是一般的强大, 不正确的dom结构它也能展示,而且还不出错,不报BUG.
再想想, 其实我在IE上遇到DOM结构不正确导致展示不正常有两次了,每次都没有立即怀疑是DOM结构的问题, 而是立马去查js代码的问题. 看来下回在IE上的展示问题要首先怀疑DOM结构是否正确了. 平常还要多注意DOM结构是否被自己修改错了.