我有一个通用的错误处理函数,它会捕获window.onerror,如果代码处于开发/暂存模式,则会在屏幕上显示错误,或者在生产模式下通过ajax post记录错误消息。这很好,我特别喜欢它为测试人员或开发人员提供警报的方式,他们在编码或测试时没有打开devtools。
但是,如果某人确实打开了devtools,我不想捕获异常 - 我想使用漂亮的chrome devtools来指出错误。
请注意,这是来自网页javascript,而不是来自Chrome扩展程序(理想情况下)。在其他浏览器中,我很乐意始终显示警报(即,如果不是chrome,则始终警告)。
那么,我可以:
a)检测“暂停错误”是否有效?
b)检测devtools是否开放?
c)也许我可以制作镀铬扩展程序以检查devtools是否已打开?
有人试过这样的事吗?
答案 0 :(得分:1)
我认为你不能。如果可以,可能会将此视为安全漏洞。
但是,您是否意识到可以设置开发人员工具来打破所有异常,有效地绕过您自己的页面的错误处理代码?转到“来源”选项卡,然后单击“暂停”按钮,直到它变为蓝色。