当我打开开发者工具时,是否可以仅执行JS文件的一部分?
我想要像这样的东西:
#if DEBUG
executeMethodOnlyInDebugger();
#endif
但是针对JavaScript。
当我打开开发者工具时,是否可以仅执行JS文件的一部分?
我想要像这样的东西:
#if DEBUG
executeMethodOnlyInDebugger();
#endif
不,JavaScript本身没有原生的条件编译。
window
对象并在检测到控制台已打开时发出事件。我可能会谨慎地将其包含在生产代码中,但在您的用例中,它可能是一个有用的调试工具。我认为在Chrome和Firefox中没有办法检查这个。 最好的方法是在你的代码中设置一个调试标志。
虽然当开发者工具未打开时,IE会将控制台显示为undefined
。
所以对于IE,你可以这样做:
if(console){
//dev tools is open
} else{
//dev tools not open
}
在这里查看更多关于Chrome的信息: 了解Chrome控制台是否已打开
针对 ASP.NET
在 _Layout.cshtml(MVC)或 Master(Web Forms)中添加以下内容:
<script>
@if (HttpContext.Current.IsDebuggingEnabled)
{
@:var DEBUG = true;
}
else
{
@:var DEBUG = false;
}
alert('DEBUG: ' + DEBUG);
</script>
<system.web>
<compilation debug="false" />
</system.web>