我正在尝试使用Firebug调试一些需要模糊和聚焦事件处理的Javascript,特别是一些自动完成/预见功能.问题是,仅仅通过点击Firebug中的各个选项卡,例如"Console","Script","DOM"等等,我的应用程序中的blur()事件被触发,然后是focus()事件当我随后在文本字段中单击返回时,驱动自动完成.当尝试与Firebug交互时,这些事件被不必要地被触发,这使得调试本身成为问题,如果不是几乎不可能的话.
有没有人遇到过这个Catch 22,和/或有没有人有解决方案/建议?
我正在基于现有布局创建html布局.我想从旧的布局中提取当前实际使用的所有文件,因为从古代或其他地方出现的目录中有很多垃圾.
因此,我尝试在Firefox中打开现有布局并使用Firebug查看实际加载了哪些文件,但"网络"选项卡保持为空,因此不是很有帮助.
我已经发现了这个问题:Firebug的"网"标签没有显示任何内容?我得到的问题几乎相同,而接受的答案对我不起作用.
我认为这里的问题是我没有发出任何http请求,我只是从我的本地机器上查看html文件,所以这个网址就像是
file:///C:/myfolder/myfile.html
Run Code Online (Sandbox Code Playgroud)
Firebug网络选项卡中只显示一个条目:
Url | Status | Domain | Size | Timeline ------------------------------------------ - | | | 0KB |
这可能也是故意的,因为我没有访问网络上的任何文件.那么有没有其他方法可以查看哪些文件被引用以及浏览器尝试访问哪些文件?
我正在尝试找到这个函数调用myFooBar(),它在某些HTML中被内联引用,但页面加载了大量的JavaScripts,并且在每个文件中搜索该函数是相当有用的.如何使用Firebug找到此函数所在的JavaScript文件?
我一直在firefox中使用firebug,这是调试php/javascript代码的好工具.最近一些东西停止在我的网站上工作,在Firefox中运行良好,但不在chrome中,所以我需要在chrome中调试它,但我找不到任何好的调试器,你们有什么建议吗?
在我正在工作的网站上我有这个问题,Firefox上的Firebug时间线显示每个图像都被下载两次,当我使用Ctrl-F5刷新页面时会发生这种情况.
Chrome开发者工具(Ctrl-Shift-I)显示图像按预期下载一次.
请帮助我了解这种情况以及如何防止图像在Firefox上下载两次.
调试javascript的最佳方法是什么?我目前正在使用Firefox 4和最新的Firebug.我喜欢Firebug,DOM和调试控制都很好.不幸的是,它并不总是报告错误.我的javascript应用程序只会停止工作(崩溃),而控制台 - >错误(或全部)选项卡将为空白.那么我必须通过调试器,设置我的断点并逐步完成代码.单步执行代码并不像您想象的那样直观(偶尔会跳转到jQuery代码或其他库).可能是一种痛苦.
我总是修复错误,我只是希望有更快的方法.在发生错误时了解错误会使我的工作进展得更快......
有没有比Firebug更好的工具?Firebug是否需要设置以始终报告错误?我应该使用其他浏览器进行调试吗?
使用Firebug或Chrome开发人员工具,在开发我的网站时编辑实时html非常容易.但是在IE8上,内置的开发人员工具甚至没有显示使用javascript修改的实时html源代码.您只能查看(有时编辑)原始源代码.
有没有一个工具可以让我在IE8中编辑实时(可能由javascript修改)html?
firebug internet-explorer internet-explorer-8 ie-developer-tools
显然,JSON对象可以在链接脚本中传递.我正在试图弄清楚它是如何工作的(如果它有效):
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js">
{
overrideConsole: false,
startInNewWindow: true,
startOpened: true,
enableTrace: true
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在firebug lite文档中注意到了它:http: //getfirebug.com/firebuglite#ScriptJSONOptions
我正在玩一些javascript性能优化,并发现了一些有趣的东西.这是代码:
function gObject() {
this.obj = [];
this.LIMIT = 100000;
this.doLoopLocal = function () {
var o = [];
for (var i=0;i<this.LIMIT;i+=1) {
o.push(i);
}
return o;
};
this.doLoopObject = function () {
this.obj = [];
for (var i=0;i<this.LIMIT;i+=1) {
this.obj.push(i);
}
};
};
var g = new gObject();
console.time('Using Local array');
g.doLoopLocal();
console.timeEnd('Using Local array');
console.time('Using Object array');
g.doLoopObject();
console.timeEnd('Using Object array');
Run Code Online (Sandbox Code Playgroud)
当我运行它时,日志告诉我使用本地数组比使用对象命名空间中定义的数组慢.差异很大 - 8到10倍!(FF 18.0.1)
Using Local array: 16ms
Using Object array: 2ms
Run Code Online (Sandbox Code Playgroud)
截图:
我总是假设在函数中使用本地定义的对象更快,但是这个实验表明我错了.为什么会这样?
更新:我在本地Firefox控制台中尝试了这个脚本,数字是我首先想到的:使用对象数组使用本地数组优于.因此,真正的原因是Firebug由于某种原因使数字偏斜并显示不正确的结果.要记住的事情.
假设我想在文件ext-all-debug.js中覆盖 Sencha提供的本机代码中的函数.
该函数在Ext.util.Renderable -class中定义,名称为cacheRefEls.
该压倒一切应该发生内部index.html的项目,使其更容易维持将来的版本.
我已经尝试过在这个线程中提出的覆盖解决方案:
重写Sencha ExtJS标准组件功能的步骤(Ext.tree.Panel和Ext.data.TreeStore作为两个示例)
我的index.html看起来如下:
<html>
...
<script type="text/javascript">
Ext.define('Myapp.view.Renderable', {
override: 'Ext.util.Renderable',
cacheRefEls: function(el) {
console.log("in overider method");
//my adapted version of it
}
});
</script>
...
</html>
Run Code Online (Sandbox Code Playgroud)
不幸的是,通过Firefox-33访问localhost:8080后,从Firebug-2-Console-log可以看到它仍然使用该功能的本机版本.
我在这里失踪了什么?
firebug ×10
javascript ×6
firefox ×3
debugging ×2
jquery ×2
extjs ×1
file ×1
firebug-lite ×1
html ×1
image ×1
migration ×1
onblur ×1
onfocus ×1
overriding ×1
performance ×1
reference ×1