我有一个Javascript应用程序,它依赖于捕获textarea中的键盘事件.在使用firebug(1.10.2)在Firefox(14.x)上测试和调试它时,我发现当我的断点处于活动状态并且调试器工作正常时,我的应用程序的行为会有所不同.
我知道如何检测Firebug,但我想知道是否可以检测(使用Javascript)Firebug实际用于调试时?
编辑:这是一些随机网站上的示例
此站点在输入框中捕获键事件,打印出字符代码并用文本表示替换按下的键(即输入键为"enter")或大写字母(如果是字母).
当我使用Chrome调试它并在侦听器函数上放置断点时,到达断点时没有任何反应(正如预期的那样),当我恢复脚本时,文本将正常打印出来.
当我在Firefox上使用Firebug进行调试时:让我们说之前我按下"e"字母,输入栏包含文本"E".我打开断点并按下字母"z".Firebug在断点处停止,但输入栏现在有文本"Ez"而不是"E".当我恢复脚本时,此文本将按预期替换为"Z".
我尝试了另一个Firefox调试器(Venkman 0.9.89),同样的事情发生了.所以我的猜测是这是一个Firefox问题,而不是调试器问题.所以问题可能更一般,是否可以检测到Javascript代码何时被调试?