最近的项目中发现一个只有IE9会产生的BUG,如题。请看下图:
直接打开网页,打开控制台,如下图:
不关闭控制台,刷新网页,如图:
此bug只在IE9出现,其他浏览器和IE7以上均无bug,从上面一眼可以看出此bug出自console.log()。去掉页面内console.log()后bug消失。
出现原因:
IE9要先按F12开启IE Dev Tools才能存取console对象
解决办法:
在页面开始声明console.log对象,进行定义,可以解决兼容问题。
<script type="text/javascript">
if(!window.console){
window.console = {};
}
if(!window.console.log){
window.console.log = function(msg){};
}
</script>
当然,console.log应该在生产结束后删除。
如有异议或新的解决方案,可以在下面贴出,与人共享。