调试动态添加的Javascript代码

时间:2010-05-09 12:59:32

标签: javascript firebug dynamic

我工作过的一个程序员在代码中有类似的东西:

 var head = document.getElementsByTagName("head")[0];
 var e = document.createElement("script");
 e.type = "text/javascript";
 var b = "function moo() { alert('hello'); }";
 e.appendChild(document.createTextNode(b));
 head.appendChild(e);
 moo();

这是好事和花花公子,但我想进入moo(),而firebug就是不能这样做。我知道我可以将整个事情分开,但我真的不想触摸它并且他的代码有效:)

有关如何使用Firebug进行调试的任何想法吗?

干杯

3 个答案:

答案 0 :(得分:2)

I drew a picture,使用Safari及其脚本调试程序。

我延长了你同事的代码,以便逐步完成。

var b = "function moo() { var a=10; a +=1; a+=10; alert(a); }";

请参阅图片以获得更清晰的解释。

答案 1 :(得分:0)

您可以在其中添加debugger;语句。萤火虫应该认识到这一点,让你介入。

答案 2 :(得分:0)

IMO添加一个try-catch块:

 try{ 
      alert(\"hello!\") ; 
 } catch(e) { 
      console.log(e) ; 
 }

以获取任何运行时错误的错误消息。 如果我理解正确,那么问题在于您将later stage上面的代码分支添加到earlier stage(就解析年表而言)。 Firebug已经经历了您正在更改的部分,因此无法识别代码。