避免console错误,console兼容
背景:写js代码时写了很多console.log进行日志打印,最后上生产时不想删除日志输出,
但是ie在不打开控制台时,日志输出会导致后续js不执行,所以需要适时屏蔽js日志输出
(IE等不支持console.log命令的浏览器,不仅无法执行console.log而且会因为该命令导致页面出错而无法正常执行。)
注:经验证在IE7/8下有效。
背景:写代码的时候,很多地方都加了这个方便调试,但是在发布产品的时候,部分浏览器下会报错
将这些代码注释后就没问题了。但是,注释的地方太多了,而且下次修改的话还得把注释改回来,难道没有其他的办法避免这些问题么?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ( function () { var noop = function noop() {}; var methods = [ 'assert' , 'clear' , 'count' , 'debug' , 'dir' , 'dirxml' , 'error' , 'exception' , 'group' , 'groupCollapsed' , 'groupEnd' , 'info' , 'log' , 'markTimeline' , 'profile' , 'profileEnd' , 'table' , 'time' , 'timeEnd' , 'timeStamp' , 'trace' , 'warn' ]; var length = methods.length; var console = window.console || {}; while (length--) { // Only stub undefined methods. console[methods[length]] = console[methods[length]] || noop; } }()); |
1、重写浏览器console日志输出,避免浏览器因不支持或未启用console.log导致的js不往下执行的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script> if ( typeof window.console === "undefined" ) { //浏览器不支持或未启用console,则禁用日志 window.console = { log: function (){} }; } </script> 或者: if (!window.console) { console = { log: function (info) { return false } } } |
2、增加日志输出手动开关
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | if ( typeof window.console === "undefined" ) { //浏览器不支持console,则禁用日志 window.console = { log: function (){} }; } else { //浏览器支持console var url = window.top.location.href ; if ( url.indexOf( "127.0.0.1" ) != -1 || url.indexOf( "localhost" ) != -1 || url.indexOf( "openlog" ) != -1 ){ //如果是本机,或者开启了日志,则正常使用console } else { //非本机,也未开启,则禁用console window.console = { log: function (){} }; } } |
避免console错误,console兼容 (http://blog.csdn.net/yfx000/article/details/44350489)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!