标签: firebug

有什么方法可以阻止Javascript无声地失败?

让我疯狂的一件事是Javascript在许多不同的情况下如何无声地失败.

(删除示例,因为它混淆了我的问题的重点)

很多时候我遇到过一个错误,它会在输入Firebug控制台时发出错误消息,但是当它在页面脚本中运行时,它会无声地失败,即使Firebug控制台处于活动状态并且打开!

其中一些问题可以被克罗克福德的JsLint捕获,但仍有许多人不会.

有没有办法在浏览器中启用更多错误消息?

你可以在不使用javascript调试环境的情况下完成这项工作吗?我觉得调试器对我帮助不大.我通常会撒上一些console.log()语句,可以在一分钟内找到问题所在.让我疯狂的是,Javascript中的无声错误很长一段时间都会被忽视,或者以一种根本不明显的方式出现.更令人沮丧的是因为在控制台中测试语句会出错,所以发生了什么?

顺便提一句,我遇到了同样的问题,是否有人注意到这一点?通常我的throw new陈述根本不起作用.但如果我在控制台中键入相同的内容,它确实如此.

感谢您的有用评论(第一个答案),但这不是我的问题.当您需要清理类的参数时,例如,当您不确定环境时,这些测试非常有用.您不希望测试您希望它们存在的属性或类的存在; 这将无缘无故地膨胀代码.

javascript debugging firebug exception-handling

18
推荐指数
2
解决办法
6119
查看次数

在Firebug"脚本"菜单中看不到任何脚本

我为我的网站启用了Firebug的scipts.

但我在Script dropdwon菜单中看不到任何内容.

"网络"选项卡将它们列为"确定".

我试过另一个网站不是我同样的事情?

firebug

17
推荐指数
3
解决办法
2万
查看次数

使Firebug内部动态加载javascript

我正在寻找一种方法来调试动态加载的jQuery document.ready函数.

显然我不能只调出脚本面板并用鼠标添加断点,因为那里没有函数.

我也试过添加"调试器"; 功能(没有引号),但没有做任何事情.我已经确保在我尝试这个时实际执行了该功能.

谢谢你的帮助,

阿德里安

编辑:我刚刚注意到Firebug实际上在调试中断了.但是,当它在动态加载的脚本上执行此操作时,它不像往常那样显示该脚本的源代码.另外,调用堆栈在我自己的代码下面结束.我可以通过调用堆栈调出document.ready的实现,但这并没有真正帮助.这是一个Firebug错误还是我错过了什么?

javascript jquery firebug

17
推荐指数
1
解决办法
1万
查看次数

如何改变Firebug'字体?

我喜欢FF3.6上的Firebug字体.安装FF4后,适当的Firbug 1.7字体已更改.我怎样才能为Firebug选择字体?

firefox fonts firebug

17
推荐指数
2
解决办法
6121
查看次数

如何通过firebug重新加载脚本

我最近做了很多ajax的东西.我一遍又一遍地重复的情景是:

  1. 加载页面
  2. 更改该页面的一些脚本
  3. 用ctrl + f5重新加载页面,看它是否有效

我想要做的是告诉firebug仅重新加载脚本而不是整个页面,因为标记是相同的.无论如何要做到这一点?

javascript debugging firebug

17
推荐指数
1
解决办法
8567
查看次数

为什么Firebug会在视频加载请求中显示"206 Partial Content"响应?

我有一堆html5视频元素,其preload属性设置为"auto".他们开始加载很好,但我认为他们的缓存可能有问题,因为每次我重新加载页面(没有清除缓存),他们重新开始.

当我在firebug中检查网络面板时,我注意到其他所有内容(图像和文件)都给了我一条"304未修改"的消息,而视频(和音频)文件给了我一个"206部分内容"消息,在重复的条目中.

当页面加载清除缓存时,"206部分内容"响应也出现在重复条目中,而不是像预期的那样"200 OK"响应.

这是视频和音频元素的正常行为吗?如果没有,怎么能纠正?

firebug server-response http http-status-codes html5-video

17
推荐指数
1
解决办法
3万
查看次数

将多个参数传递给console.log

我有一个实用程序函数,它用一个条件包装console.log,所以如果我们在dev环境中并且console.log存在,我们只调用console.log:

/* Console log if environment has debug true or #debug initially passed in URL */
metro.conlog = (function () {
    return function (message) {
        if ((metro.siteData.debug || metro.hashOptions.hasOwnProperty('debug')) && window.console && message) {
            console.log(message);
        }
    };
}());
Run Code Online (Sandbox Code Playgroud)

这对于普通的控制台日志非常有效.但是我最近发现了向console.log传递多个参数的乐趣:它允许您使用字符串为控制台日志添加前缀,因此console.log('DEBUG', object)输出字符串以及可以检查其属性的可扩展对象.如何更改我的conlog功能来执行此操作?我已经尝试注销这样的所有参数:

metro.conlog = (function () {
    return function (message) {
        if ((metro.siteData.debug || metro.hashOptions.hasOwnProperty('debug')) && window.console && message) {
            console.log(arguments);
        }
    };
}());
Run Code Online (Sandbox Code Playgroud)

但是这会将参数作为数组输出,而不是使用console.log获得的整齐线.您可以在此屏幕截图中看到差异:

在此输入图像描述

谁能告诉我如何重现原始日志输出?

javascript console firebug developer-tools

17
推荐指数
1
解决办法
3万
查看次数

网站在浏览器中返回"CSI/tbsd_"和"CSI/_tbnd"错误

我的网站在Firefox和Chrome中都返回了一些奇怪的警告信息和错误.

Firefox返回以下错误:

GET http://fonts.googleapis.com/css?family=Varela+Round 200 OK 7c8e43d.js (line 18)
13:27:41.46 CSI/tbsd_
13:27:41.48 CSI/_tbnd
Run Code Online (Sandbox Code Playgroud)

Chrome会返回此错误:

XMLHttpRequest cannot load http://fonts.googleapis.com/css?family=Varela+Round. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin is therefore not allowed access. 
Run Code Online (Sandbox Code Playgroud)

我猜这个问题与谷歌字体API有关,Access-Control-Allow-Origin我该如何解决这个错误呢?

firefox firebug google-chrome

17
推荐指数
1
解决办法
7984
查看次数

什么时候JS将{}解释为空块而不是空对象?

我正在阅读这个问题的答案(关于"wat"视频),它说:

  1. {}+[]
    这被解释为一个空的代码块,一元加和空数组.第一部分什么都不做,数组转换为逗号分隔的字符串(空数组为空数组),然后转换为数字(空字符串转换为0),因此为0.

我目前正在从"权威指南"学习JS,所以我试着真正理解这样的事情.

我的问题是,JS何时决定将其解释{}为空代码块,而不是空对象?

另外,我想了解Node.js和Firebug之间的一些不一致之处.

萤火虫:

用于<code> {} [] </ code>和<code>({} [])</ code>的Firebug控制台输出

Node.js的:

<code> {} [] </ code>和<code>({} [])</ code>的Node.js输出

javascript firebug node.js

17
推荐指数
1
解决办法
1353
查看次数

如何将Firebug恢复到旧版本?

我今天打开了一个Firefox,点击了Firebug按钮,它向我展示了在新版本中它被集成到开发人员工具中.

我点击确定并意识到它根本不起作用(每次使用Inspect Element时<body>都会选择该元素).所以我想恢复该设置,但我找不到在哪里切换它.我尝试重新安装Firebug,但该设置存储在某处,因此它会自动启动DevTools而不是Firebug.

任何帮助如何恢复到经典的Firebug?

firefox firebug

17
推荐指数
1
解决办法
1万
查看次数