DOMCONTENTLOADED , $(DOCUMENT).READY

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 27 avril 2009 à 22:30
cs_akiko Messages postés 17 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 22 août 2009 - 22 août 2009 à 09:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49923-domcontentloaded-document-ready

cs_akiko Messages postés 17 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 22 août 2009
22 août 2009 à 09:09
Ok, merci beaucoup pour ta réponse. Je pense par ailleurs que je dois pourvoir utiliser ce code pour permutter la visibilité d'un calque, ce qui devrais faire la blague. En attendant , bon retour de ouacances.
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
17 août 2009 à 16:34
salut akiko, dsl de répondre que maintenant, j'étais en vacance !!
j'ai pas bien compris tas question, mais tu peux utiliser un window.onload , qui lui attend la fin du chargement des images...
le problème de cette fonction, c'est que si on connais pas les dimensions des images et qu'on en a besoin on peux pas l'utiliser, mais bon c'est surtout vrai dans des diapo ect ...

bye
cs_akiko Messages postés 17 Date d'inscription mercredi 16 juillet 2003 Statut Membre Dernière intervention 22 août 2009
6 août 2009 à 17:01
Bonjour et merci pour cette function très utile.

Cependant je me demande comment utilisé ce script pour créer un délayage des chargements / préchargement d'images dans une page quand le DOM est prêt ?
kebisalim Messages postés 1 Date d'inscription lundi 13 avril 2009 Statut Membre Dernière intervention 10 mai 2009
10 mai 2009 à 20:21
je besoin a des script pour fait des annotation et des commentaire sur mon site d'enseignement a destant
par exemple soulignement surlignement gras italique .....cte
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 12:55
bien dit xtremduke !!
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
28 avril 2009 à 12:50
L'exemple le plus flagrant pour tester la difference entre l'utilisation du DOMReady et le basique window.onload et d'utilser les deux sur un document contenant une image lourde (sur le net et avec le cache vide bien évidement).

Exemple :

window.onload = function(){ alert("window.onload") }
$ready(function(){ alert("domready") });
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 12:05
par exemple un truc tout simple
$ready(function(){
alert(document.getElementsByTagName('*').length);
});
si il affiche plus de 0 c'est que le dom est bien chargé .

merci ;)
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
28 avril 2009 à 11:56
Je boss sur IE6 comment je suis censé tester? Se que je peux te dire c'est mon débuggeur de script ne voit pas d'erreur
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 11:50
en faite comme je les dit plus haut sa sert à spécifier le chargement du script en dernier , comme un script en bas de page , sans ça le script pourrait être chargé avant le dom ,et le callback appliqué ....
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
28 avril 2009 à 11:41
defer="defer" marchera très bien puisque c'est la notation xhtml... mais je doute que cet attribut soit vraiment utile dans ce code puisque de toute façon le src pointe vers rien... mais bon c'est un détail... .. .

@ tchaoo°
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 11:36
bon comme prévu pas de problème avec defer="defer" !!
j'ai rajouté la méthode alternative pour ie , mais mon ie6 portable marche plus, et j'ai pas ie5.5 , si quelqu'un pouvait le tester ...
bye
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 11:18
ok xtremduke, avait pas compris , je suis en train d'essayer la méthode alternative d'ie , si ca marche je reposte , je teste aussi avec defer="defer" , et te dit si ça fonctionne aussi ...
Chouette une bonne note , sa va gonfler ma moyenne sur cs !!

a++
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
28 avril 2009 à 11:06
Bon ba je peux noter alors :)
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
28 avril 2009 à 11:05
@Kimjoa :

Je n'ai rien contre le document.write, surtout dans ce cas. Je fesais juste une remarque sur l'attribut "defer" qui se doit de contenir une propriété. Donc defer devrait être defer="defer". C'est tout.
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
28 avril 2009 à 10:50
hé bien, faute d'avoir fait un code nikel , je vous ait fait causez :) , et vos remarque sont tout à fait juste, d'abord concernant celle de XtremDuke :

concernant l'intervalle , c'est vrai que c'est un peu abusé, je vais le placer à 30ms !!
concernant le document.write , c'est la seule méthode possible pour ie (enfin j'en ait vue d'autre mais bien plus compliqué ... ) l'attribut defer est exclusif ie, et il est pas possible de l'intégrer via un setAttribut , il permet de spécifier que le script doit être chargé en dernier , un peu comme si l'on inséré un script tout en bas le page

Lakichemole à complètement raison , je poste aussi pour les débutants, et il auraient eu du mal à deviner à quoi correspond le $ ...

bon je rectifie de suite

a++
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
28 avril 2009 à 10:39
@LAKICHEMOLE :

Ce n'est pas faut.
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
28 avril 2009 à 10:28
Ba oui je chipote :) KimJoa dis que cette source n'est pas de lui et qu'il la importer pour pouvoir l'intégrer sans librairie.
Donc la c'est pas le cas :) Donc vu que c'est une petite source (ce qu'il ne veux pas dire qu'elle est dénuée d'intérêt bien au contraire) tant qu'à faire autant qu'elle soit conforme au titre :)
Sinon tout le monde va faire du copier coller des fonction qu'il trouve dans les librairie et c'est la porte ouverte à toute les fenêtre!
Mais c'est sur que le '$' c'est tellement utilisé partout qu'on en oublie que ça vient d'une librairie.
Donc juste une petite modif en remplaçant le '$' par getElementById et je serait content :)
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
28 avril 2009 à 10:09
@LAKICHEMOLE :

Tu chipottes ^^ remplaces donc le dollar par document.getElementById
lakichemole Messages postés 253 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 18 mai 2009
28 avril 2009 à 10:05
Tu dis que pour ceux qui n'utilise pas de librairie ce script marche? Im me semble que l'alias '$' qui remplace le getElementById provient d'une librairie non?
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
28 avril 2009 à 09:41
Salut,

En effet, cette fonctionnalité est très interessante même à recommander. Pour ma part, je n'utilises plus l'evenement "onload" de window.

Cependant deux petites remarques sans vraiment d'importance :

- Un interval de 0ms n'est pas conseillé. En generale, on utiliser plutôt 50ms pour ce genre de verification.
- Pour un doc orienté XML -> document.write('<script id="__onDOMContentLoaded" defer="defer" src="://"><\/script>');

A+
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
27 avril 2009 à 22:43
ouais, c est vrai concernant le $Browser , je corrige ca de suite !!
pareil pour le document.write...
en faite je me suis remis sur ma lib , et j'ai juste chopé le script sans réajustement ....

tchouss !!
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
27 avril 2009 à 22:30
Intéressant mais pourquoi tu poste $Browser en entier ? inutile... .. .

if ($Browser.WebKit || $Browser.Opera)

>

if (navigator.userAgent.indexOf('AppleWebKit/') > -1 || window.opera)

et au passage...

document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");

>

document.write('<script id="__onDOMContentLoaded" defer src="://"><\/script>');

@ tchaOo°
Rejoignez-nous