有没有机会找到javascript警报的来源?

时间:2014-11-26 11:56:31

标签: javascript alert

我在一个大型项目中工作,这个项目已经开发了好几年,而且代码很多。最近无法提醒的警报开始出现。它只是说Undefined。我需要找到此警报的来源。是否有机会制作类似"断点警报"?我想看看这个警报的来源。 一种可能性是重新定义警报功能。我尝试在Firefox中制作它没有任何成功。

3 个答案:

答案 0 :(得分:7)

我会在代码的开头重新定义window.alert以进行此类开发。

window.alert = function(e){ console.warn( "Alerted: " + e ); }

这肯定会给你一个行号。 (在chrome控制台上测试)

答案 1 :(得分:2)

这是一个古老的问题,但是我想我会提供一个更简单的解决方案。 Chrome中找到源的一种非常简单的方法是在window.alert控制台中放置一个调试程序:

debug(window.alert)

这将在警报中断时将您带到源头。通常,每当调用函数fname时,使用带有debug(fname)的控制台都会中断。

答案 2 :(得分:0)

作为Vsevolod方法的延续,例如在Firefox中的FireBug中,您可以在每个alert()上放置一个条件断点,并查看哪个触发,然后上升FireBug显示的callstack 。 条件可以是" typeof whatever_variable_is_displayed ==' undefined'"。