新发的日常小实验——使用IETester测试不同IE版本的浏览器,测试网页JS的兼容性(console未定义兼容测试)
文章目录
- 一、痛点:IE兼容测试
- 二、关于IETester
- 三、IETester下载
- 四、写个html测试js的console接口
- 五、测试结果
- 六、js兼容处理
一、痛点:IE兼容测试
之前使用.Net
的Winform桌面应用框架
做了一个PC
版的迷你浏览器(使用IE
内核),方便拉起网页支付。
有用户反馈打开支付页面报了如下的错:“console”
未定义
到底是多么老旧的IE内核
,console
都未定义,查了一下,解决办法是自己定义一个window.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;
})();
现在,我要搞个比较老旧的IE内核
的浏览器进行兼容测试
。
要安装IE 6
,得先卸载我本机的IE 11
,测试完我还得重新装回我的IE 11
,真是太麻烦了。
下文我就推荐一个神器给大家:IETester
。
二、关于IETester
IETester
是一个ie
浏览器多版本测试工具,可能很方便在ie5.5,ie6,ie7,ie8,ie9,ie10,ie11
切换,只安装一个软件,解决N
多ie
浏览器的问题,满足大部分IE
浏览器兼容性的测试,具有Office 2007
的可视化界面。
支持 Windows 7,Vista and XP,Windows 8 desktop
系统,并且有中文,英文等多国语言支持。
注:IETest
对Win10
兼容性不好,所以如果你是Win10
,可能IETest
中很多IE
版本无法测试。
三、IETester下载
http://www.ietester.cn/
四、写个html测试js的console接口
console_test.html
脚本,如下
<!DOCTYPE html>
<html>
<body><h1>IE console test</h1><script>
console.log("hello");
</script></body>
</html>
五、测试结果
经过测试,发现ie5.5、ie6、ie7、ie8
都会出现“console”
未定义。
六、js兼容处理
修改console_test.html
脚本,如下
<!DOCTYPE html>
<html>
<body><h1>IE console test</h1><script>
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;
})();console.log("hello");
</script></body>
</html>
最终可以在ie5.5、ie6、ie7、ie8
正常运行了。