Fork me on GitHub

Rapport de message :*
 

Re: aChat 0.23: pas de refresh automatique?

Titre du sujet : Re: aChat 0.23: pas de refresh automatique?
par garrath sur 31/10/2007 12:19:17

Citation :

Niluge a écrit:
Après avoir regardé un peu le code javascript de MultiMenu, il y a un script start.js appelé dès le début, qui serait très utile s'il était dans xoops.js, et si ce dernier était le 1er javascript chargé de la page.
En effet il permet d'utiliser plusieurs fois windows.onload, en mettant dans un tableau les fonctions à exécuter au chargement de la page, et, au chargement de la page, il parcourt le tableau en exécutant 1 à 1 les fonctions qui devaient l'être.

Oui c'est un classique. Il ne peut y avoir qu'un seul et unique window.load donc cette solution est un classique et c'est la seule qui permet de charger x une fois la page charger.


Citation :

Niluge a écrit:
Bref c'est exactement ce qu'il faudrait, mais géré par le core xoops, et pas par un module.
Et je ne vois pas comment on pourrait faire autrement...
Ca serait mieux c clair, et plus propre.

Citation :

Niluge a écrit:
Il faudrait aussi que le xoops.js soit appelé en 1er dans le head html.

Pas sur que ca ait une incidence ca par contre. A partir du moment ou les js sont charges sur la page et que le nom d'une methode/fonction n'est pas duplique l'ordre des fichiers n'a pas vraiment d'incidence il me semble.

Citation :

Niluge a écrit:

Là ça se met bien après l'appel de xoops.js, quand on est sur la page du module.
Mais quand on exécute ça dans un bloc, l'appel de xoops.js se situe après les autres scripts (mais quand même avant le css...).
Donc logiquement, les blocs sont rendus avant que header.php ( du core xoops) inclue xoops.js.

...
En ayant fait des tests avec des echo, et un compteur, il s'avère que les blocs sont rendus lors de la création de l'objet $xoTheme. Ce qui pose pas mal de problèmes pour réussir à appeler le xoops.js avant de rendre les blocs....

Bref je suis perdu...

hum...

Le javascript est execute que sur le poste client.
Le php genere toute la page complete, block du cote, centraux etc... avec tout le html et les appels au differents fichiers css, javascript etc...
Cette page il faut la voir comme un ensemble en fait.
Elle est envoye tel quel par le serveur php vers ton browser, et c'est le browser qui lui gere ensuite le javascript. Donc au moment ou le browser le gere ce javascript toute la page est sur le poste.
le window.onload c'est en gros le premier evenement lance une fois la reception totale de la page html.

C'est pour cela que l'ordre d'apparition des fichiers js n'a pas vraiment d'importance (il me semble) car de toutes façons ils sont tous present au moment de l'execution car la page html est totalement sur le poste client.

Si tu as le multimenu par exemple, essayes de coller les evenements que tu veux grace a leur fonction start. Normalement le fait que ton appel soit fait avant ou apres l'inclusion de ce fichier ne devrait rien changer.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

30 Personne(s) en ligne (24 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 30 | Plus ...