ly2011 / blog

前端学习笔记
https://ly2011.github.io/blog
122 stars 12 forks source link

IE9打开页面不显示内容,打开控制台才会加载内容 #161

Open ly2011 opened 5 years ago

ly2011 commented 5 years ago

原因

这个问题产生的原因是因为IE不支持console语法,如果语句中有console,只有在控制台打开的时候才会执行代码。

解决方案

有两种解决方案:

方案1 对于使用webpack打包的项目,处理起来就比较简单了,在webpack.conf.js 中,uglifyjsPlugin插件中添加配置项:


uglifyOptions: {
  compress: {
    drop_console:true
  }
}

这样打包之后就会自动删除所有的console;

方案2

在页面头部添加代码,对console进行判断,是否识别:

<script type="text/javascript">
if(!window.console){
    window.console = {};
}
if (!window.console.log) {
    window.console.log = function(mes){ };
}
</script>