代码之家  ›  专栏  ›  技术社区  ›  99miles

Firebug未显示Rails应用程序的javascript错误

  •  0
  • 99miles  · 技术社区  · 16 年前

    我有一个Rails应用程序,当我有javascript错误时,它们不会显示在Firebug控制台中。我选择了“显示javascript错误”和“显示javascript警告”。

    当我在一个基本的HTML文件中插入javascript错误时,这些错误会按预期显示。

    在Rails应用程序的javascript中,它只在极少的情况下显示错误。 例如,我可以插入一些无稽之谈,比如:

    Dfghaefb;

    Firebug中没有显示错误。但如果我在其中插入一个空格,Firebug会显示错误:

    德国联邦公路局

    有什么想法吗?这让我发疯。

    更新: Pumbaa80是对的,它是语法vs运行时。

    所以我设置了OnError:

    onerror=errorHandler;
    var error="";
    
     function errorHandler(errMessage,url,line){
      error="There is an error at this page.\n";
      error+="Error: " + errMessage+ "\n";
      error+="URL: " + url + "\n";
      error+="Line: " + line + "\n\n";
      error+="Click OK to continue viewing this page,\n";
      alert(error);
      return true;
     }
    
    And I have a method with an error:
    
    function initForm() {
        asdfs;
    }
    

    当我在一个方法之外调用它时,它就会工作:

    initForm();
    

    但在这种情况下不是:

    document.observe('dom:loaded', function() {
    
        initForm();
    }); 
    

    为什么?

    5 回复  |  直到 15 年前
        1
  •  0
  •   user123444555621    15 年前
    dfghaefb;
    

    产生运行时错误。这些错误可以通过 onerror 上的处理程序 window 或者把它们困在 try/catch 在某种程度上。在这种情况下,Firebug不会显示任何内容。

    相反,

    dfgh aefb;
    

    是一个语法错误,显示在错误控制台中,无论 尝试/捕获 误差 .

        2
  •  0
  •   Shripad Krishna    16 年前

    你让页面完全加载了吗?我有一个Rails应用程序正在我前面运行,上面有Firebug,我进入了Dfghaefb;是的,它确实会抛出一个错误!

     ReferenceError: dfghaefb is not defined {  message="dfghaefb is not defined",  more...}
    

    运行firefox 3.6.3、firebug 1.5.3和macosx 10.5.6:)

        3
  •  0
  •   Andy    15 年前

    这似乎很明显,但请确保使用

    <script type="text/javascript"> code </script>
    

    否则Firebug根本看不到它。

        4
  •  0
  •   jhexp    15 年前

    我也一样,它没有显示任何东西,这让我疯狂了很多年,即使我在控制台选项卡中选择了“显示javascript错误”,它似乎在我执行“启用所有面板”后开始工作。

        5
  •  -2
  •   johnjbarton    15 年前

    如果没有测试用例,这些问题就无法得到解决。