Table invisible IE6/AJAX inside

Table invisible IE6/AJAX inside - HTML/CSS - Programmation

Marsh Posté le 13-01-2009 à 16:00:03    

Bonjour,
 
J'essaye de développer un "explorateur" de répertoires en AJAX parce que c'est la mode  :love:
J'utilise Mootools pour me simplifier la vie et parce que c'est celui que je connais le mieux.
Mon code JS vaut ce qu'il vaut, c'est sans prétention.
 
C'est ici que ça se passe : http://www.nostalgeek.org/FreeXplorer/
Sous FF ça fonctionne bien, pas de soucis.
Sous IE6 j'avais des erreurs, un coup de debug avec VS2008 et c'est réglé.
 
C'est là que ça se complique...
Aucune erreur, presque tout qui marche sauf le table qui est censé lister le contenu de mes répertoire qui n'est pas affichée  :??:
Uniquement sous IE6, je ne peux pas tester sous le 7 pour le moment.
 
J'ai vérifié le visibility qui est bien à "visible", le display qui est bien à "block" et comme je suis sur mootools je lui demande également le opacity et il me renvoie bien "1".
 
Je commence alors à douter de la bonne insertion du code html du table dans ma page.
Je fais un alert(document.body.innerHTML); et je retrouve bien le code de mon table.
 
Je contrôle avec la dev toolbar de Microsoft, on y retrouve bien le code de mon table. Screenshot à l'appui :
http://pix.nofrag.com/4/7/9/7cc1baaa2e8621653a24bfc13bcect.jpg
 
Dans le doute j'ai aussi essayé avec une CSS complètement vide et toujours rien.
Je suis à court d'idées...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 13-01-2009 à 16:00:03   

Reply

Marsh Posté le 13-01-2009 à 16:57:09    

Question : C'est mon IE qui bug ou le problème se reproduit chez vous aussi ?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 13-01-2009 à 17:09:41    

Sous IE 7.0 ça ne passe pas non plus. Regarde si tes fichiers JS ne serai pas codé pour fonctionner que sous Firefox. Ne sait on jamais, sachant qu'il existe une méthode pour connaitre la version du navigateur (Firefox, IE, autres).
 
Sinon, ton CSS contient une erreur sur l'attribut display, tu as mis 3 l dans ton collapse.

Reply

Marsh Posté le 13-01-2009 à 17:17:53    

MetalDestroyer a écrit :

Sous IE 7.0 ça ne passe pas non plus. Regarde si tes fichiers JS ne serai pas codé pour fonctionner que sous Firefox. Ne sait on jamais, sachant qu'il existe une méthode pour connaitre la version du navigateur (Firefox, IE, autres).

Dans la mesure où je n'ai aucune erreur, j'aime à penser que le code fonctionne avec IE (d'ailleurs dans la bar d'état d'IE je vois qu'il charge les images...).
Par ailleurs, pour autant qu'on reste assez prudent, Mootools m'a toujours permis de ne pas me soucier du navigateur.
Et enfin, en debuggant ça avec Visual Studio + IE6 ça ne me remonte absolument aucune erreur.
Je vois pas ce que je peux faire de plus pour contrôler mon code...
 

MetalDestroyer a écrit :

Sinon, ton CSS contient une erreur sur l'attribut display, tu as mis 3 l dans ton collapse.

Corrigé, merci :jap:


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 13-01-2009 à 17:27:29    

dwogsi a écrit :

Dans la mesure où je n'ai aucune erreur, j'aime à penser que le code fonctionne avec IE (d'ailleurs dans la bar d'état d'IE je vois qu'il charge les images...).
Par ailleurs, pour autant qu'on reste assez prudent, Mootools m'a toujours permis de ne pas me soucier du navigateur.
Et enfin, en debuggant ça avec Visual Studio + IE6 ça ne me remonte absolument aucune erreur.
Je vois pas ce que je peux faire de plus pour contrôler mon code...
 


 

dwogsi a écrit :

Corrigé, merci :jap:


 
Je ne parlais pas d'erreur Javascript. tu as beau avoir un code Javascript fonctionnel sans aucune erreur de syntaxe, il se peut qu'il y existe une incohérence dans le code. Genre, une des fonctions vérifie la version utilisé du navigateur (Firefox, IE ou autres) et selon le navigateur, il t'effectue un traitement différent.

Reply

Marsh Posté le 13-01-2009 à 17:34:23    

Oui mais le fait de ne pas faire ce genre de traitement abouti presque toujours (si ce n'est toujours) sur une erreur. Et je maintiens également que Mootools est censé encapsuler ces différents tests.
 
Edit : Un mauvais traitement à l'exécution lève également une erreur. Ca ne donne pas uniquement les erreurs de syntaxe !


Message édité par dwogsi le 13-01-2009 à 17:35:32

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 14-01-2009 à 10:05:51    

Je réduis le problème à une forme plus simple :
http://www.nostalgeek.org/FreeXplorer/test/
 

Code :
  1. var table = new Element('table');
  2. var line  = new Element('tr');
  3. var cell  = new Element('td');
  4. cell.set('text','test');
  5. cell.inject(line);
  6. line.inject(table);
  7. table.inject($('content'));


 
Ca fonctionne toujours très bien sous FF, mais toujours pas sous IE. Pas d'erreur mais pas plus de table affiché...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 14-01-2009 à 10:49:02    

Voilà la structure que j'ai sous IE:
 
http://tof.canardpc.com/preview2/c1517e9c-2af9-47c5-bfb2-22a0ea426c47.jpg
 
J'ai l'impression que IE n'aime pas du tout les fonctions que tu lui fais injecté dans tes balises TABLE, TD, TR. D'ailleurs, comment se fait il qu'il y a une liste d'évènements qui ne sont pas reconnu ? (AddClass, AddEvent, etc...)

Reply

Marsh Posté le 14-01-2009 à 10:50:45    

Truc, tout con, tu as essayé de modifier la sécurité d'IE. Il y a des scripts qui ne passe pas à cause de cette sécurité. Je dis ça je ne dis rien.

Reply

Marsh Posté le 14-01-2009 à 15:44:37    

J'ai réussi à l'afficher !
Il s'agit probablement d'un problème de rafraichissement de l'affichage et pour le forcer il suffit de faire :
conteneurTable.innerHTML += '';


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed