有时一些开发人员忘记删除debugger;javascript代码,并在IE上产生javascript错误.if(window.console){console.log('foo');}如果调试器存在,您如何检查(如控制台:)
顺便说一句:我不想检测浏览器是否是IE,如果可能我想要一个通用的方法谢谢,
Thi*_*ter 13
你不能.
最好的解决方案是在版本控制系统中添加一个钩子,以防止包含debugger; 语句的代码被提交/推送.
要求您的开发人员debugger;在提交之前搜索或至少仔细查看差异也是一种解决方案 - 但不如VCS中的硬拒绝那样有效.
您可以尝试编译声明debugger为局部变量的函数.如果debugger保留为关键字,JS引擎将抛出一个可以捕获的错误.
var debuggerIsKeyword = false;
try {
new Function("var debugger;");
} catch(e) {
debuggerIsKeyword = true;
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定知道关键字是否存在实际上是有帮助的.