Tag: firebug

在jQuery.each()之后,数组中的字符串不再是字符串

当我通过jQuery.each()方法循环它时,我对字符串数组的行为很困惑。 显然,字符串成为回调函数中的jQuery对象。 但是,我不能使用this.get()方法来获取原始字符串; 这样做会触发this.get不是函数错误消息。 我想原因是它不是DOM节点。 我可以做$(this).get()但它使我的字符串成为一个数组(从”foo”到[“f”, “o”, “o”] )。 我怎么能把它扔回字符串? 我需要获取String类型的变量,因为我将它传递给其他函数来比较它们之间的值。 我附上一个独立的测试用例(需要Firebug的控制台):

通过jQuery添加的脚本标记在FireBug中不可见

我通过jQuery将到文档头。 这是我使用的代码: $(document).ready(function () { var s = document.createElement(“script”); s.type = “text/javascript”; s.src = (document.location.protocol == “https:” ? “https://ssl” : “http://www”) + “.google-analytics.com/ga.js”; $(“head”).append(s); }); 虽然脚本似乎运行得很好,但是当我使用FireBug检查文档头时,我看不到头部中的脚本。 此代码段不会显示添加的脚本: $(‘script[src]’).each(function(){ console.log(this.src); }); 这是正常的还是我在这里做错了什么? 困扰我的是,我在head部分看到其他脚本是懒惰/动态加载但不是我添加的那些脚本。 还想知道在文档就绪函数中加载操作DOM的脚本是否可以。 UPDATE 替换代码: $(“head”).append(s); 至 document.getElementsByTagName(“head”)[0].appendChild(s); 解决了这个问题。 生成的DOM在FireBug中正确显示,jQuery正确返回静态/动态添加的脚本标记。

调试时如何忽略某些脚本文件/行?

我正在尝试调试一些JavaScript,我想知道当我将鼠标hover在某个div元素上时会执行什么代码(我不知道哪些代码,因为没有直接’onmouseover’ – 我认为有一个jQuery选择器在某处?)。 通常我会使用Developer Tools / Firebug提供的“Break All”/“Break On Next”工具,但我的问题是其他代码(代码,鼠标移动监听器等)会立即被捕获。 我想做的是告诉调试器忽略某些JavaScript文件或单独的行,这样它就不会停止在我不感兴趣或已排除的代码上。 有没有办法在IE中实现这一点( 吐,吐! ) – 或者你能建议一个更好的方法吗?

.attr(“禁用”,“禁用”)问题

我有这个function从输入字段切换禁用属性: $(‘.someElement’).click(function(){ if (someCondition) { console.log($target.prev(‘input’)) // gives out the right object $target.toggleClass(‘open’).prev(‘input’).attr(‘disabled’, ‘disabled’); }else{ $target.toggleClass(‘open’).prev(‘input’).removeAttr(‘disabled’); //this works } }) removeAttr工作正常,但当我需要再次添加禁用时,它什么也没做。 我的console.log被触发(并返回正确的输入字段),所以我确信我的if语句有效。 但是当我在firefox中使用firebug检查DOM时,不会显示disabled属性。 有人能帮我吗? PS:请不要专注于函数或if语句本身,正常工作只是那个不适用于残疾的attr … 编辑 :它的输入类型=“隐藏”是否可能禁用对隐藏字段不起作用?

使用Firebug调试JavaScript事件

我需要为某个事件设置断点,但我不知道,它在哪里定义,因为我有一大堆最小化的JavaScript代码,所以我无法手动找到它。 是否有可能以某种方式设置断点,例如具有ID registerButton的元素的click事件,或者找到哪个函数绑定到该事件? 我找到了Firefox附加的Javascript Deobfuscator ,它显示了当前执行的JavaScript,这很好,但我需要调试的代码是使用jQuery ,因此即使在最简单的事件上也有大量的函数调用,所以我不能使用它无论是。 是否有专门为jQuery制作的调试器? 有没有人知道一些工具将缩小的JavaScript重新转换为格式化代码,如turn function(){alert(“aaa”);v=3;}返回 function() { alert(“aaa”); v = 3; }

对jQuery 1.4.2的Firebug JS警告“不应使用keyup事件的’charCode’属性。 这个价值毫无意义。“忽略它?

Firebug 1.5.4 JavaScript警告: 不应使用keyup事件的’charCode’属性。 价值毫无意义。 忽略它? 有什么问题吗? 警告出现在jQuery 1.4.2 keyup和keydown ,而不是在keypress 。 我已经读过将event.keyCode和event.which更改为event.which必须修复它,但它对我不起作用。 http://jsfiddle.net/zTevK/2/中的完整代码示例和问题 我的代码使用keyup ,不适用于keypress 。 $(document).bind(‘keyup’, function(e){ var key = e.which; if (key > 36 && key < 41) { if (key == 37) { changeTab(-1); } if (key == 38) { changeTab(-imgPerRow); } if (key == 39) { changeTab(+1); } if (key […]

为什么脚本在Firebug的命令行中在一个站点上工作而在另一个站点上不工作?

我使用Firefox和Firebug的命令行在两个不同的站点上执行JavaScript: https://graph.facebook.com/v2.3/172727819415642/albums?fields=id,name,cover_photo,photos%7Bname,source%7D&limit=1&access_token=xxxxx http://www.iskcondesiretree.com/photo/album/list 这是代码: (function() { function r() { a = $(“body”).text() console.log(a); }; var e = “1.6.4”; var t = false; if (!t) { t = true; var n = document.createElement(“script”); n.src = “https://ajax.googleapis.com/ajax/libs/jquery/” + e + “/jquery.min.js”; n.onload = function() { r(); }; document.getElementsByTagName(“head”)[0].appendChild(n); }; })(); 当我在站点1上的Firebug命令行中运行此代码时,它返回以下错误: TypeError:$(…)。text()不是函数 当我运行这个代码站点2它工作正常。 它显示了网站上的大量文字。 有趣的是,如果我将$更改$ jQuery它也可以在站点1上运行。 谁能告诉我们发生了什么? […]

是什么让Firebug / Chrome控制台将自定义对象视为数组?

当我在jQuery中开发时,我经常发现自己在Chrome / Firebug控制台中键入选择器并查看它们给我的内容。 它们总是很好地格式化,好像它们是数组: 我试图找出使控制台将对象视为数组的原因。 例如,以下自定义对象不被视为数组: function ElementWrapper(id) { this[0] = document.getElementById(id); } 如果我然后添加一个length属性和一个splice方法,它神奇地作为一个数组工作,任何具有整数键的属性被视为数组的成员: function ElementWrapper(id) { this[0] = document.getElementById(id); this.length = 1; this.splice = Array.prototype.splice; } 所以基本上我的问题是: 什么决定控制台是否将对象显示为数组 ? 它是否有任何基本原理,或者它是完全随意的“如果一个对象具有这些属性,它必须是一个数组?” 如果是这样,决定性的属性是什么?

使用jQuery getJSON的“无效标签”Firebug错误

我正在向另一个域发出jQuery $.getJSON请求,所以我确保我的GET URI以“callback =?”结尾 (即使用JSONP)。 Firebug的NET面板显示我正在按预期接收数据,但由于某种原因,控制台面板记录以下错误:“无效标签”。 JSON使用JSONLint进行validation,因此我怀疑数据结构是否存在任何真正的错误。 任何想法,为什么我可能会收到此错误?

使Firebug内部动态加载javascript

我正在寻找一种方法来调试动态加载的jQuery document.ready函数。 显然我不能只调出脚本面板并用鼠标添加断点,因为那里没有该函数。 我也试过添加“调试器”; 到函数(没有引号),但没有做任何事情。 我已经确保在我尝试这个时实际执行了该function。 谢谢你的帮助, 阿德里安 编辑:我刚注意到Firebug实际上在调试中断了。 但是,当它在动态加载的脚本上执行此操作时,它不像往常那样显示该脚本的源代码。 另外,调用堆栈在我自己的代码下面结束。 我可以通过调用堆栈调出document.ready的实现,但这并没有真正帮助。 这是一个Firebug错误还是我错过了什么?