Articles Comments

Marco Luthe Online! » Firefox/Thunderbird » Firebug And The Mysterious “Components Is Not Defined”

Firebug And The Mysterious “Components Is Not Defined”

Today, I noticed a javascript error shown by Firebug while surfing my own (WordPress) blog. Firebug always reported a “Components is not defined” for

this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

in wp-includes/js/tw-sack.js.

It turns out that tw-sack.js was not the only file affected – also post.php and wp-gears.js showed this error.

I googled this – but I found nothing helpful.

So I tried reinstalling Firebug. That seemed to have worked fine at first: the mysterious error was gone… but just for a while. It was back after a few minutes – and I don’t reallly know where it comes from. The only thing I know is that I just had a WindowsUpdate. IE on the other hand shows no Javascript error.

The error doesn’t seem to affect the functionality of my blog, but I hate these red-and-white Firebug Xs!

Update:
After rebooting and clearing the cache etc., everything seems to work now – the error hasn’t appeared since.

Is this a Fire”bug”? Or is it related to the recent Windows Update for October? Or is it just because there were some failures or incompletely loaded files within the cache, and clearing it was all there was needed?

I dunno.

[Update from 2008-11-20]

Hmm… I just recently installed FF 3.0.4 and Firebug 1.3.0b3 – and the error seems to have disappeared.

Update:
It’s back! I changed nothing! This is some odd behaviour, I must admit…

Filed under: Firefox/Thunderbird · Tags: , , , , , ,

  • http://www.blogontravel.com Travel guy

    I have the same problem… Im still looking for a fix… clearing the cache and rebooting don’t help much.. but thx anyway

  • http://breasy.com/blog/ Udi

    I also get this error. Sounds like it’s nothing to be concerned about… Annoying.

  • Sven

    I had the error too.
    It seems that every plugin that wants to use the “sack” function of wordpress (for fetching ajax data), will trigger a firebug bug, due to the attempt to create ActiveXObject.

    But as Firebug only is made for Firefox, I tried to switch the logic of the createAJAX inner function.
    So normally, the javascript function would try to make the xmlhttp object with ActiveXObject (MS Stuff), and when that doesn’t succeed it does it the Mozilla way with XMLHttpRequest.

    I changed the order:

    if (typeof XMLHttpRequest != “undefined”)
    this.xmlhttp = new XMLHttpRequest();

    if (! this.xmlhttp) {
    try {
    this.xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP”);
    } catch (e1) {
    try {
    this.xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);
    } catch (e2) {
    this.xmlhttp = null;
    this.failed = true;
    }
    }
    }

    Now Firebug doesn’t throw an error any more.

  • http://www.saphod.net Marco

    It doesn’t make much sense to me to have to change the sack code, so I posted this as an issue to the Firebug Google Group.

  • http://www.saphod.net Marco

    OK, I recently:

    posted to the above Google Group (see my previous comment),
    opened an issue on the Firebug Google Code forum,
    posted a question into the Mozilla Firefox forum and
    contacted the author of tw-sack.js.

    … taking a deep breath …

    Nothing new so far.

    So I did as Sven suggested and replaced the tw-sack.js code, which works fine so far. Let’s wait and see if the error still occurs, and if the SACK functionality is still provided 100%.

    The only problem with changing the code manually is that you’d have to change this on every major WordPress upgrade – just like compressing Prototype.

  • http://www.paramiliar.com Paramiliar

    Hey guys, I have the same issue however mine is not a blog.

    I develop internet applications for a few clients and in my case i receive the error when setting a global variable

    “filter_layer_display = 0;”

    as soon as I changed this line to

    “var filter_layer_display = 0;”
    it worked ok no more error, why it suddenly started happening I have no idea but it must be something to do with dependencies or whatever they are called, in my case mine was a global variable and yours is a class using this. I think it is a firebug error moreso than a JS error

  • desperados

    HI
    I’v exactly the same bug. So did you resolved the mystery ?

    bye

    desperados

  • desperados

    by the way

    I don’t use WordPress but Symfony with jQuery.

    desperados

  • http://www.my-city-nights.de Chris

    Hi,

    same error when using Dojo and/or Google maps. But only on my local environment. Same project on live server works fine.

    No JS errors when Firebug extension is disabled…

    Bye Chris

  • Anonymous

    Do you have LiveHTTPHeaders installed besides Firebug?
    I have reason to assume its caused when both these 2 Plugins are installed.

  • Rproctor83

    It is most likely from firebug and livehttpheaders. This is an old issue and I only recently started to get it, after installing livehttpheaders. I notice that I only get this error when including jquery from a latest hosted source like http://code.jquery.com/jquery-latest.js or from google. When I download and link in a local copy of the file the error goes away. It doesnt seem to affect my code, but I always get a warning about a chrome file and not sure why.

blog comments powered by Disqus