11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

Ma page est composée de deux DIV, une principale où j'affiche tout mon contenu et une autre (un petit bloc) qui a une position fixe. Dans ce petit bloc, il y a une application (un client tchat) pour la quelle il faut absolument éviter le refresh quand je clique sur un lien dans la DIV principale, au risque de réinitialiser toute l'application.

Pour ça, j'ai le choix de faire un popup qui prendrait exactement la même position que mon DIV/petit bloc, mais je voudrais vraiment éviter cette solution, pour éviter entre autres le blocage des popup !

Pensez-vous qu'il soit possible d'empêcher le rafraîchissement d'une partie (DIV) d'une page ? Evidemment, je ne parle du cas où on appuierait sur le bouton "reload" du navigateur.

J'ai beaucoup cherché sur le net où il est question d'Ajax et KoolAjax/ updatepanel mais .......je suis un peu perdu.

Help please !

Merci !
Re-,

C'est encore moi et je me demandais si aborder le problème sous un autre angle ne serait pas mieux !

En effet, n'est-il pas préférable de capturer tous les clicks pour renvoyer les résultats (XMLHttpRequest) dans le DIV principal "contenu", sans avoir à re-uploader toute la page ?

Ceci aura (peut-être) pour effet de laisser tranquille mon DIV/petit bloc où se trouve mon application (de ne pas le recharger à chaque click et donc d'éviter la réinitialisation à chaque fois) ?

Qu'en pensez-vous et comment pensez-vous que cela puisse être fait ?

Merci !
Modérateur
Bonjour,

Lorsqu'un click (ou plus généralement une action de l'utilisateur) a pour effet de lancer une requête AJAX, il n'y a pas de raison que toute la page se rafraichisse. On choisit ce qu'on veut modifier dans la page après réception des données sans toucher au reste. Et c'est d'ailleurs essentiellement pour ça me semble-t-il qu'on fait de l'AJAX.

Le mécanisme est différent si l'on clique sur un lien ou un bouton de formulaire, car l'action qui est derrière a pour effet de recharger la page ou de changer de page dans le cas général.

Amicalement