我可以在嵌入式JS函数中轻松设置断点,但我没有看到任何通过Firebug访问外部JS脚本的方法,除非我碰巧在调试会话期间输入它们.有没有办法做到这一点,而不必"探索"我的方式进入脚本?
@Jason:这是一个好点,但在我的情况下,我没有轻松访问脚本.我特别谈到了我想要调试的ASP.Net Validators调用的客户端脚本.我可以通过输入函数调用在调试会话期间访问它们,但我找不到直接访问它们的方法.
在单步执行使用jQuery的脚本时,我只想测试我编写的代码.我不想进入jQuery文件 - 我不是在调试jQuery,只是我自己的文件.
有没有办法告诉调试器不要进入jQuery文件?我使用Visual Studio + Internet Explorer以及Firefox + Firebug来逐步执行代码......两者似乎都喜欢介绍几十个jQuery语句.
例如,假设我有一个这样的脚本:
$("div").each(function() {
$(this).hide();
});
Run Code Online (Sandbox Code Playgroud)
这在技术上是单个语句 - 因此"Step Over"将立即执行所有代码,这将跳过内部"hide"语句.但是,"Step Into"会将我带到jQuery代码,在将它带到"hide"语句之前,我必须先执行几十行代码.
我想让调试器完全忽略jQuery代码,所以我可以轻松地单步执行自己的代码,而不是单步执行jQuery代码.
在C#中,可以通过在类上使用[DebuggerStepThrough()]属性来实现.但这对JavaScript没有帮助.
我正在使用Firebug 1.5.4.当我引用一个未定义的变量或类似的变量时,它会在问题发生时向右突破,并将我抛入调试视图,在那里我可以看到堆栈并检查变量.
但是,当我抛出自己的异常时,它只需要我到控制台并打印出"未捕获的异常:等等".我希望它打破并让我检查变量.我如何告诉Firebug这样做?
我正在尝试调试特定页面的javascript,我一直在看
Reload the page to get source for page.htm 在Firebug中.
在Chrome上,我大多能够调试js,但有时我也会得到一个空白页面.什么可能导致这样的问题?
我相信如果我在JS控制台打开时重新加载,我总会在Chrome中看到一个空白页面.如果我打开新的Chrome标签页,加载页面,然后打开JS控制台,一切正常.
我正在调试的页面是在本地主机服务器(Play Framework服务器)上,虽然我偶尔会在其他页面上看到这个.这只发生在内联javascript ...从页面链接的js显示正常.
我试图调试我使用的网络应用程序 jQuery.
在firebug im中调用$(document).ready中的函数..
function val() { console.log('validated outside doc.ready'); }
$(document).ready(function()
{
console.log('document ready...');
function validate() { console.log('validated!'); }
}
Run Code Online (Sandbox Code Playgroud)
在firebug控制台中我输入validate()并且它说它不是一个功能
如果我输入val()它工作正常.
我如何从控制台调用验证?
在我的Web应用程序上测试各种网页的性能时,我注意到firebug中的网络选项卡(瀑布图)存在一些空白.在某些情况下,这些可能占用整个请求的一半时间.
通常会导致这些差距的原因是什么?

我正在使用Firefox和Firebug Developer工具.
View Source(Ctrl + U)中显示的HTML是否与使用Firebug检查元素时看到的HTML不同?
两者有什么不同?
我想清除已发送的JavaScript的Firebug控制台.
有没有像console.clear()存在和工作?
我需要为某个事件设置一个断点,但我不知道,它在哪里定义,因为我有一大堆最小化的JavaScript代码,所以我无法手动找到它.
是否有可能以某种方式设置断点,例如具有ID的元素的click事件registerButton,或者找到哪个函数绑定到该事件?
我找到了Firefox附加的Javascript Deobfuscator,它显示了当前执行的JavaScript,这很好,但我需要调试的代码是使用jQuery,所以即使在最简单的事件上也有大量的函数调用,所以我不能使用它无论是.
是否有专门为jQuery制作的调试器?
有没有人知道一些工具可以将缩小的JavaScript重新转换为格式化的代码,例如function(){alert("aaa");v=3;}转回
function() {
alert("aaa");
v = 3;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试某些东西,出于某种原因,在Firebug控制台中工作时,我无法使用该getElementByTagName('script')方法在HTML页面上创建脚本标记数组.我意识到我可能会忽略一些愚蠢的东西.
这是虚拟HTML页面:
<html>
<head>
<title>Random Crapolla Page</title>
<h1>Random Crapolla Page</h1>
</head>
<body>
<div id="whyNot">
<p id="p1">
<a href="http://google.com">Here is link one</a><br />
<a href="http://google.com">Oh poop here's another</a><br />
<a href="http://google.com">And a 3rd for good measure</a><br />
</p>
<a id="p2">
Latin. Latin. Latin...<br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo …Run Code Online (Sandbox Code Playgroud) firebug ×10
javascript ×6
debugging ×3
jquery ×3
firefox ×2
html ×2
browser ×1
console.log ×1
rendering ×1