一、问题描述:
①网页在IE11、10显示正常,在原生IE9以下(IE9、IE8)网页显示不完全,显示报错:console未定义;(其他版本IE模拟出的IE9以下没有此问题)
②在解决问题过程中,发现当打开开发者工具(F12)并刷新页面时,页面显示正常;
报错信息如下图:
IE9/IE8报错信息.png
二、原因:
IE9以下没有定义console对象,所以代码会中断执行;
当打开开发者工具后,浏览器会自动创建了console这个对象;
三、解决方案:
思路①:注释或删除所有的console代码(推荐!简单又粗暴!)
思路②:创建一个console对象,在JS中添加以下代码:
//解决IE9/IE8不支持console问题
window.console = window.console || (function () {
var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile
= c.clear = c.exception = c.trace = c.assert = function () { };
return c;
})();
思路③:增加页面刷新代码(进入页面只刷新一次)
// 刷新
if (location.href.indexOf("#reloaded") == -1) {
location.href = location.href + "#reloaded";
location.reload();
};
如果对你有用就点个赞再走吧,听说点赞的都是帅气的小哥哥小姐姐❤
网友评论