【问题标题】:Firebug not showing Javascript errors for Rails applicationsFirebug 未显示 Rails 应用程序的 Javascript 错误
【发布时间】:2010-04-16 22:28:57
【问题描述】:

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

当我在基本 html 文件中插入 javascript 错误时,错误会按预期显示。

在 Rails 应用程序的 javascript 中,它仅在极少数情况下显示错误。 例如,我可以插入诸如此类的废话:

dfghaefb;

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

dfgh aefb;

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

更新: 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();
}); 

这是为什么呢?

【问题讨论】:

  • 好吧,dfghaefb; 不是错误 :-)
  • 它是——它没有被定义。它在我的 html 页面中显示为错误。
  • 哦,杜尔,你是对的。好吧,一般来说,Firefox 在解析时忽略/隐藏异常可能相当随意。我不知道 Firebug 是否对此有任何影响,但这不是 Rails 的事情,因为它一直发生在我身上,而且我不使用 Rails。

标签: javascript firefox firefox-addon firebug


【解决方案1】:
dfghaefb;

产生运行时错误。可以通过在window 上放置onerror 处理程序或以某种方式将它们捕获在try/catch 中来抑制这些错误。在这种情况下,Firebug 不会显示任何内容。

相比之下,

dfgh aefb;

是语法错误,无论try/catchonerror如何,都会显示在错误控制台中。

【讨论】:

    【解决方案2】:

    您是否让页面完全加载?我现在在我面前运行一个 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】:

      这可能看起来很明显,但请确保使用

      包装内联 JS
      <script type="text/javascript"> code </script>
      

      否则 FireBug 根本不会看它。

      【讨论】:

        【解决方案4】:

        我也有同样的情况,它没有显示任何内容,这让我发疯了很长时间,即使我在控制台选项卡中选择了“显示 javascript 错误”,它似乎在我执行“启用所有”之后开始工作面板”。

        【讨论】:

          【解决方案5】:

          没有测试用例就无法回答这类问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-08-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多