Firebug causing errors

273 views
Skip to first unread message

djad33

unread,
Apr 13, 2012, 3:19:34 PM4/13/12
to fir...@googlegroups.com
I have had a number of problems with javascript (using jQuery) and Firefox the past few months. These errors were not occurring in any other browser (IE7, IE8, IE9, Chrome or Safari). They have been generally related to scoping in that existing objects were turning up 'unidentified' in console. I could navigate through the DOM and find them, just not where they were supposed to be. This has plagued me on 3 projects, with different jQuery plugins. The latest incident was using jQuery.validate.js and created an error 'validator is undefined'. In the process of trying to solve this issue, I created a single field form with nothing else in the HTML other than the page script and the links to jQuery and jquery.validate.min.js.

In my testing, I had success using FF9, 10 and 11 from Spoon.net. It was then I realized none of those versions were running Firebug like I do on the version of 11 installed on my Mac.

Disabling Firebug solved the problem completely with jquery.validate.js. So I began to wonder about the other projects that had given me problems. I went back to the old code and removed the changes I made to accommodate for Firefox and everything worked.

Example 1 - With Firebug enabled, this works:
http://mgh.bigheadservices.com/sweets/v7/index.fb.html

Example 2 - Firebug Disabled, this works:
http://mgh.bigheadservices.com/sweets/v7/index.html

Disable Firebug on example 1 and it fails. Enable on Example 2 and it fails.

The particular issue here is the object data.

The correct and recommended method (used in Example 2) is:
    apis.push($(this).jScrollPane({showArrows: true, innerArrows: true}).data('jsp'));

The method I had to use to get it to work (as I was developing in FF with FB):
    $.browser.mozilla ?
        apis.push($(this).jScrollPane({showArrows: true, innerArrows: true}).data('data.jsp'))
        : apis.push($(this).jScrollPane({showArrows: true, innerArrows: true}).data('jsp'));

Using the recommended method would cause a failure when I tried to access the stored data:
    $.each(apis, function(i) {
       this.destroy();
    });

The altered version:
    $.each(apis, function(i) {
        $.browser.mozilla ? this.jsp.destroy() : this.destroy();
    });

I do not make any claim to be a programming Ninja or expert at all. I've been more than willing to accept that the failures were mine. However,  disabling Firebug has eliminated all javascript errors on the 2 projects I've tested. The pages function as they were designed to. I'm hopeful that this helps others that might be dealing with similar issues where a script is inexplicably failing solely in Firefox.


djad33

unread,
Apr 13, 2012, 4:11:51 PM4/13/12
to fir...@googlegroups.com
Actually, it is NOT Firebug alone. It is Firebug with FireQuery. Disabling FireQuery does the trick.
Message has been deleted

Sebo

unread,
Apr 14, 2012, 6:36:56 AM4/14/12
to fir...@googlegroups.com
Don't know, if my message got eaten by Google groups. Seems you also had some problems with this already. :-)

Actually testing example 1 on a fresh profile (without Firebug or FireQuery) also doesn't work for me. In the error console I see:

Error: TypeError: this.jsp is undefined
Source File: http://mgh.bigheadservices.com/sweets/v7/js/sweets.fb.js
Line: 229

Example 2 is working for me (having Firebug enabled, but not having FireQuery installed). If there are conflicts with FireQuery, you should contact BinaryAge (the author of FireQuery).

Sebastian
Reply all
Reply to author
Forward
Message has been deleted
0 new messages