RSS

Erreur Javascript Firefox : oTidyBrowser is not defined

ven, fév 13, 2009

JavaScript, Non classé, Tips

Si vous travaillez avec Firefox et les extensions HTML Validator et Firebug, vous avez peut-être déjà eu une erreur Javascript récurrente dans la console d’erreur :

Error: oTidyBrowser is not defined
 Source File: chrome://tidy/content/tidyBrowser.js
 Line: 220

Ceci est dû à un bogue venant de l’utilisation conjointe de Firebug et HTML Validator. voici la procédure pour le corriger :

  1. Ouvrir le dossier Firefox de votre profil
    (Windows) C:\Users\Dan\AppData\Roaming\Mozilla\Firefox\Profiles\vqy7rs08.default\extensions\{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}\chrome
    (Unix) /home/dan/.mozilla/firefox/8wazcbtr.default/extensions/{3b56bcc7-54e5-44a2-9b44-66c3ef58c13e}/chrome
  2. Copier le fichier tidy.jar et renommer la copie en tidy.zip
  3. Décompressez ce dernier fichier
  4. Ouvrez le fichier content/tidyBrowser.js
  5. Allez à la ligne 220, la section de code recherchée est :
     220. if( oTidyBrowser.bTopLoadBusy==false )
     221. {
     222.  oTidyUtil.tidy.log( ‘<javascript>tidyEndDocumentLoadObserver' );
     223.  oTidyBrowser.bTopLoadBusy = true;
     224.  try
     225.  {
     226.   // Validate the 1rst request
     227.   oTidyBrowser.bIgnorePageShow = true;
     228.   oTidyBrowser.validateFrame( window.content );
     229.   // oTidyBrowser.validateCache( subject.document, true );
     230.
     231.   // Process the events that fired during the 1rst one
     232.   // ex: page with frames.
     233.   var doc = oTidyBrowser.oEventQueue.pop();
     234.   while( doc )
     235.   {
     236.    oTidyBrowser.validateCache( doc, true );
     237.    doc = oTidyBrowser.oEventQueue.pop();
     238.   }
     239.  }
     240.  catch(ex)
     241.  {
     242.   tidyShowExceptionInConsole( ex );
     243.  }
     244.  oTidyBrowser.bTopLoadBusy = false;
     245. }
     246. else
     247. {
     248.  // Parallel events are placed in a event queue.
     249.  oTidyBrowser.oEventQueue.push( event.originalTarget );
     250. }
  6. Rajouter cette section de code :
    if( !oTidyBrowser )
    {
      // Do nothing
    }
    else if( oTidyBrowser.bTopLoadBusy==false )
    {
      oTidyUtil.tidy.log( ‘<javascript>tidyEndDocumentLoadObserver' );
      oTidyBrowser.bTopLoadBusy = true;
        .....
  7. Recompressez les trois dossiers (content, locale et skin) en une archive tidy.zip
  8. Faites une sauvegarde de tidy.jar et renommez tidy.zip en tidy.jar
  9. Redémarrez Firefox
  10. Oh bonheur ! L’erreur a disparu.

Cet article a été écrit par :

Adrien - a déjà écrit 3 article(s) sur Pims Labs.


2 Comments For This Post

  1. pierre Says:

    En fait c’est tout a fait le probleme que j’ai
    mais j’ai beau chercher (vista 64-firefox 3.0.4)
    la cible meme partielle (je ne m’appele pas Dan…) impossible de trouver.
    Dommage.

  2. Le Courtes Says:

    J’ai essayé cette manip, cela fait planté ma developper tools bar…

    Donc je suis revenu en arrière par rapport à la modification.

Leave a Reply