Masklinn a écrit :
Ne recharger qu'une partie d'une page monolithique, à part en DHTML je vois pas, et même en DHTML...
|
Il existe 3-4 methodes pour cela :
1) Utiliser un object JS : XmlHttpRequest.
Probleme, il ne fonctionne pas sur tous les navigateurs (IE, FF, et quelques autres ok, Opera pas ok)
2) Utiliser la methode dite de la "frame invisible" (fonctionne egalement avec une iframe). Le but est d'utiliser cette frame afin d'aller chercher les nouvelles donnees, ensuite il faut utiliser du JS pour "communiquer" entre les 2 frames.
3) Utiliser un applet java qui va servir de "pont". En gros c'est l'applet java qui va faire la requete au serveur web, si besoin est il appelle ensuite un JS de la page pour metre a jour les infos.
4) Utiliser les cookies. En gros le but et de "creer" une image en JS, cette image pointe sur un script php. Ce dernier mets les infos dans un cookie et renvoi une image s'il faut faire un update et ne renvoie pas d'image s'il ne faut pas faire d'update. Le JS de son cote regarde si l'image a ete chargee. Si c'est le cas, alors les infos se trouvent dans le cookie. Si l'image n'as pas ete chargee alors ce n'est pas possibles.
Attention, la taille des cookies n'est pas ilimitee, donc cette methode y est donc sensible.
5) Cette methode se base surtout sur la DOM. En gros il faut ajouter un objet a la page courante. On cree donc un objet "script" dont la src pointe sur un script php. Ce dernier retourne du code JS qui va metre a jour les infos voulues.
J'ai jamais vraiment teste a fond cette methode, et il me semble que certains navigateurs ne la supportent pas...
Voila les techniques que je connais. Je les trouve pas tres "propres" et je considere qu'il faudrait les classer classer dans la categorie "hacks" ou "tricks" que dans la categorie "vraies methodes".
Je ne recommande vraiment pas leur utilisation car elles ne sont pas efficaces dans toutes les configurations. Elles se basent beaucoup sur du JS qui dans certains cas peut etre desactive. Il vaut donc mieux trouver une autre methode au lieu d'utiliser ces methodes pour palier un probleme de conception.
Message édité par cerel le 11-01-2005 à 00:58:33