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. -- You received this message because you are subscribed to the Google Groups "Firebug" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at https://groups.google.com/forum/#!forum/firebug
