où trouver un schéma de l'arbre DOM pour Firefox et pour IE?

où trouver un schéma de l'arbre DOM pour Firefox et pour IE? - HTML/CSS - Programmation

Marsh Posté le 16-05-2006 à 19:56:14    

Combien existe-t-il de DOM différent pour les browsers?
 
Je sais qu'il existe au moins deux DOM, ceux de IE et de Netscape
 
A en juger par la liste des navigateurs existants (voir sur le lien ci-dessous), j'ose espérer qu'il n'existe pas un DOM différent par browser, si?
http://www.quirksmode.org/browsers/contents.html
 
 
P.S. je n'arrive pas à trouver de représentation schématique des DOM (ça serait pourtant bien pratique)
j'ai trouvé uniquement le schéma pour Netscape et encore je ne sais pas à quelle version il se réfère ni s'il est complet et correct:http://img393.imageshack.us/img393/9307/domnetscape5ho.gif


Message édité par namerh le 17-05-2006 à 01:18:18
Reply

Marsh Posté le 16-05-2006 à 19:56:14   

Reply

Marsh Posté le 16-05-2006 à 20:32:55    

DOM Inspector sous Firefox ??????
 
Mais là ce que tu as c'est plus un dom mais un caca, car les objets s'attaquent à coup de :  
document.getElementById
document.getElementsByTagName
 
donc bon ton schéma tu peux le foutre à la poubelle

Reply

Marsh Posté le 16-05-2006 à 22:36:57    

gatsu35 a écrit :

DOM Inspector sous Firefox ??????
 
Mais là ce que tu as c'est plus un dom mais un caca, car les objets s'attaquent à coup de :  
document.getElementById
document.getElementsByTagName
 
donc bon ton schéma tu peux le foutre à la poubelle


j'ai un peu de mal à comprendre à quoi sert ce plug-in..
et surtout je ne vois pas le rapport avec ma question :(
 
Edit: en fait j'ai installé DOM inspector pour IE mais je suppose que c'est pareil


Message édité par namerh le 16-05-2006 à 22:38:33
Reply

Marsh Posté le 16-05-2006 à 22:58:41    

ouais
 
ya pas plusieurs DOM, il n'y en a qu'un seul
 
les objets se récupères avec les méthodes que je t'ai donné plus haut

Reply

Marsh Posté le 16-05-2006 à 23:10:36    

ah pardon mais il me semble que firefox et IE n'ont pas le meme modèle objet, non?
 
par ailleurs, je sais récupérer les objets mais il y a de nbreuses choses que j'ai développées pour IE et qui ne sont pas compatibles avec firefox:
 
par exemple, la gestion des évenements, la gestion des dimensions, et je parle meme pas des divers "filters"


Message édité par namerh le 16-05-2006 à 23:13:06
Reply

Marsh Posté le 16-05-2006 à 23:13:30    

filters c'est pour les CSS donc tu t'en branles
la gestion des évènements : ok
la gestion des dimensions : pas ok :o
clientWidth, clientHeight fonctionnent très bien et sont crossbrowser :o
 
pour récupérer des objets on fait plus de document.layers ou de document.all mais du document.getElementById et autres fonctions du dom
je te conseille de faire un tour sur www.quirksmode.org

Reply

Marsh Posté le 16-05-2006 à 23:28:46    

gatsu35 a écrit :

je te conseille de faire un tour sur www.quirksmode.org

merci je vais aller voir
 

gatsu35 a écrit :

pour récupérer des objets on fait plus de document.layers ou de document.all mais du document.getElementById et autres fonctions du dom

oui ça no problem
 

gatsu35 a écrit :

filters c'est pour les CSS donc tu t'en branles


je songeais à ceci par exemple:

Code :
  1. var o= document.getElementById(id);
  2.    o.style.filter="blendTrans(duration=2)";
  3.    if (o.filters.blendTrans.status != 2) {
  4.     obj.filters.blendTrans.apply();
  5.     obj.style.visibility="hidden";
  6.     obj.filters.blendTrans.play(); }

ça ne fonctionne pas sous firefox.
 

gatsu35 a écrit :

la gestion des évènements : ok
la gestion des dimensions : pas ok :o
clientWidth, clientHeight fonctionnent très bien et sont crossbrowser :o

j'utilise ça mais aussi des event.x (ou event.pageX sous firefox)
des offsetX, offsetWidth, .. (je sais pas si c'est compatible)
des body.scrollLeft,
etc...


Message édité par namerh le 16-05-2006 à 23:34:07
Reply

Marsh Posté le 17-05-2006 à 01:22:32    

j'ai commencé à lire  www.quirksmode.org, c'est intéressant (articles didactiques)..
mais en rapport avec titre de topic, je persiste à dire qu'un organigramme serait tout de meme de loin plus facile pour s'y retrouver.
 
par ailleurs, autant la MSDN de microsoft fourni ttes les infos concernant javascript pour IE,
autant je ne sais pas où trouver une doc similaire (c'est à dire exhaustive) concernant la famille Netscape.
 
par exemple, quel est l'équivalent de onselectart sous firefox??


Message édité par namerh le 17-05-2006 à 01:59:42
Reply

Marsh Posté le 17-05-2006 à 02:47:36    

dom inspector sous firefox :o

Reply

Marsh Posté le 17-05-2006 à 03:00:16    

Reply

Marsh Posté le 17-05-2006 à 03:00:16   

Reply

Marsh Posté le 17-05-2006 à 16:10:33    

gatsu35 a écrit :

dom inspector sous firefox :o


encore???  bon ok je vais télécharger DOM inspector pour firefox en espérant que ça soit différent de DOM inspector pour IE car je n'ai rien trouvé sous ce dernier qui puisse m'aider  :heink:

Reply

Marsh Posté le 17-05-2006 à 22:16:41    

Edited: edited:    désolé, suite à une fausse manip j'ai effacé ce message :(
http://www.quirksmode.org/js/events_tradmod.html
ça concernait la justesse ou non des 2 lignes de codes ci-dessous:

Citation :

But suppose that you don’t use both modules on every page in your site. Now if you’d do
 
element.onclick = function () {startDragDrop(); spyOnUser()}
 
you could get error messages because one of the two functions might be undefined. So you have to be more careful in registering your event handlers. When we want to register spyOnUser() while startDragDrop() may (or may not) be registered, we do:
 
var old = (element.onclick) ? element.onclick : function () {};
element.onclick = function () {old(); spyOnUser()};
 
First you define a variable old. If the element currently has an onclick event handler, put this event handler in old, if it hasn’t, put an empty function in old. Now you register a new event handler to element div. It is a function that first executes old() and afterwards spyOnUser().


 
1ere ligne:
var old = (element.onclick) ? element.onclick : function () {};
2e ligne:
element.onclick = function () {old(); spyOnUser()};


Message édité par namerh le 17-05-2006 à 23:49:12
Reply

Marsh Posté le 17-05-2006 à 22:40:32    

tu t'es planté sur ta compréhension de la condition ;)

Reply

Marsh Posté le 17-05-2006 à 22:56:29    

0x90 a écrit :

tu t'es planté sur ta compréhension de la condition ;)


tu veux dire que je me plante sur ce que produit "element.onclick" (en bleu ci dessous)?
var old = (element.onclick) ? element.onclick : function () {};  

Reply

Marsh Posté le 17-05-2006 à 23:14:48    

Ouais. Ca teste s'il y a quelque chose dans onclick. Si oui, on récupère ce qu'il y a dedans (en général une fonction), sinon on récupère une fonction vide

Reply

Marsh Posté le 17-05-2006 à 23:26:55    

FlorentG a écrit :

Ouais. Ca teste s'il y a quelque chose dans onclick. Si oui, on récupère ce qu'il y a dedans (en général une fonction), sinon on récupère une fonction vide


il y a qqch dans "onclick"???
je comprends plus rien là..
element.onclick ne désigne-t-il pas l'élement sur lequel s'est produit l'évenement click?

Reply

Marsh Posté le 17-05-2006 à 23:28:56    

Nope. element.onclick représente la fonction qui va être lancée lors du click :D
 
Attention, avec JS c'est vite le bordel, on peut tester des fonctions comme ça pour voir s'il y a quelque chose dedans

Reply

Marsh Posté le 17-05-2006 à 23:42:57    

je suis largué..
 
dans ce cas ça signifierait que dans cet exemple, 'element.onclick' est old()
 
la 1ere ligne de code serait alors équivalente à :
 
si ( function () {old(); spyOnUser()}; ) on range ça (  function () {old(); spyOnUser()}; )  dans la variable old
 
  :heink:

Reply

Marsh Posté le 17-05-2006 à 23:46:36    

un volontaire pour dérouler l'algo SVP car je suis largué là


Message édité par namerh le 19-05-2006 à 13:38:00
Reply

Marsh Posté le 18-05-2006 à 10:13:50    

up

Reply

Marsh Posté le 19-05-2006 à 13:38:21    

pas de volontaire?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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