MSN Web Messenger: Comment ça marche ???

MSN Web Messenger: Comment ça marche ??? - HTML/CSS - Programmation

Marsh Posté le 16-03-2005 à 23:05:32    

Salut à tous,
 
Voilà je me pose une question concernant MSN Web Messenger.
Comment les programmeurs de microsoft font-ils pour mettre à jour le contenu de la fenêtre de discussion sans rafraichir la page car ce n'est pas non plus une applet, simplement de l'HTML/Javascript.
Même lorsque l'interlocuteur tape son message, y'a le message "Mr.X est en train d'écrire un message" !!! Trop fort.
Y'a-t-il une connexion qui reste constamment ouverte avec le serveur et qui regarde toutes le n secondes si y'a rien de neuf ??
Si certains d'entre vous savent comment faire ce genre de choses, merci d'éclairer ma lanterne avec un exemple.
 
Merci
 
++
 
PS: Un autre truc dingue, c'est la petite fenêtre qui apparait en bas à droite lorsque quelqu'un se connecte. Même si le navigateur est en taille réduite, cette fenetre apparait toujours au meme endroit....mais comment font-ils ???

Reply

Marsh Posté le 16-03-2005 à 23:05:32   

Reply

Marsh Posté le 16-03-2005 à 23:08:30    

XmlHttpRequest

Reply

Marsh Posté le 17-03-2005 à 01:44:15    

tu te pose trop de questions... :d
 
 
:hello:


---------------
Pas le temps... Ou pas envie de le prendre ?
Reply

Marsh Posté le 17-03-2005 à 01:46:16    

mdr
 
+1 (parce que chui fatigué, alors je n'ai plus envie de réfléchir vue l'heure tardive)

Reply

Marsh Posté le 17-03-2005 à 08:27:38    

FlorentG a écrit :

XmlHttpRequest


 
C'est ce que je pensais mais en explorant le source des pages et des js inclus, il n'est jamais fait référence à cet ActiveX...


Message édité par Sonoix le 17-03-2005 à 08:28:05
Reply

Marsh Posté le 17-03-2005 à 09:06:03    

Sonoix a écrit :

C'est ce que je pensais mais en explorant le source des pages et des js inclus, il n'est jamais fait référence à cet ActiveX...


C'est pas vraiment un ActiveX, mais une fonction en JS

Reply

Marsh Posté le 17-03-2005 à 09:57:57    

Sonoix a écrit :

C'est ce que je pensais mais en explorant le source des pages et des js inclus, il n'est jamais fait référence à cet ActiveX...


Ca n'a rien à voir avec un ActiveX, si c'en était un les services faisant appel à XhlHttpRequest ne fonctionneraient que sous MSIE ce qui n'est pas le cas [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 17-03-2005 à 12:45:36    

masklinn a écrit :

Ca n'a rien à voir avec un ActiveX, si c'en était un les services faisant appel à XhlHttpRequest ne fonctionneraient que sous MSIE ce qui n'est pas le cas [:spamafote]


 
Pour votre info, Microsoft a implémenté le premier l'objet XMLHttpRequest dans IE5 en tant qu'un objet ActiveX. Ensuite les ingénieurs du "Mozilla Project" ont implémentés une version native compatible pour Mozilla 1.0 (et Netscape 7). Apple a fait la même chose avec Safari 1.2
Résultat, dans Mozilla ou Safari, on peut créer l'objet en natif en utilisant le code suivant:
 

Code :
  1. var req = new XMLHttpRequest();


 
Pour IE, il faut utiliser le nom de l'objet avec le constructeur ActiveX:
 

Code :
  1. var req = new ActiveXObject("Microsoft.XMLHTTP" );


ou

Code :
  1. var req = XmlHttp.create()

qui fait la même chose
 
Du coup, pour être compatible avec tous les browser, la création de l'objet dans une page doit en tenir compte et ça donne un code dans ce style là :
 

Code :
  1. try {
  2.     var xmlhttp = new XMLHttpRequest(); // Si !IE   
  3. } catch (e) {
  4.     var MSXML_XMLHTTP_PROGIDS = new Array(
  5.         'MSXML2.XMLHTTP.5.0',
  6.         'MSXML2.XMLHTTP.4.0',
  7.         'MSXML2.XMLHTTP.3.0',
  8.         'MSXML2.XMLHTTP',
  9.         'Microsoft.XMLHTTP'
  10.     );
  11.     var xmlhttp = null;
  12.     var success = false;
  13.     for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length && !success; i++) {
  14.         try {
  15.             xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]); // pour IE
  16.             success = true;
  17.         } catch (e) {}
  18.     }
  19. }


Message édité par Sonoix le 17-03-2005 à 12:49:12
Reply

Marsh Posté le 19-03-2005 à 18:05:21    

FlorentG a écrit :

XmlHttpRequest


 
Et pour la fenêtre qui apparaît lorsque qq1 se connecte ?
Elle apparait même en dehors de la fenetre de l'exploreur à un endroit bien précis...

Reply

Marsh Posté le 21-03-2005 à 10:52:45    

Ca c'est un popup de base, non ?

Reply

Marsh Posté le 21-03-2005 à 10:52:45   

Reply

Marsh Posté le 21-03-2005 à 10:56:23    

FlorentG a écrit :

Ca c'est un popup de base, non ?


oui. d'ailleurs si tu mets ta barre des taches en haut par exemple, ca devrait pas changer cette popup [:sinclaire]

Reply

Sujets relatifs:

Leave a Replay

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