english version

Par Julien Lamarre, 20 septembre 2005


AJAX sans utilisation de XMLHttpRequest, frame, iframe, Java ou Flash

  • Seul une image, une feuille de style ou un .js est utilisé pour la communication entre le client et le serveur, le tout sans rafraîchissement de la page.
  • Ces techniques ne sont pas nécessairement les plus utiles et performantes, elles ont été développées uniquement pour le plaisir et pour démontrer leur faisabilité.
  • Pour le code, voir la source de cette page ainsi que le fichier PHP associé.
  • Le code est libre de droits alors ne vous gênez pas pour l'utiliser ou le modifier! Les crédits sont les bienvenus par contre!
  • Pour plus de renseignements, une explication du code ou pour laisser un commentaire: psssst!


avec une image    avec une feuille de style    avec un .js
 


AJAX à l'aide d'une image

  • La connection du client vers le serveur est effectuée en utilisant une image créée dynamiquement et en ajoutant certains paramètres à sa propriété ".src".

    La réponse du serveur est envoyée dans un cookie en même temps que l'image est retournée au client. Ou, si les cookies ne sont pas activés sur le client, en utilisant la largeur et la hauteur de l'image pour transmettre, deux par deux, les caractères formant la réponse!

  • Cette technique possède certaines limitations et problèmes de performance... Principalement lorsque les cookies ne sont pas activés.

  • Plusieures améliorations pourraient être apportées. Par exemple la gestion de la taille limite d'un cookie: un système avec itérations pourrait être mis en place, divisant la réponse du serveur et la communiquant au client paquet par paquet, en respectant la limite de caractères d'un cookie.

  • Certaines personnes m'ont suggéré des articles portant sur la question: article 1  article 2

    Ces deux articles présentent une technique utilisant une image et un cookie. Mais cette technique ne fonctionne pas si les cookies ne sont pas activés sur le client, contrairement à celle que je propose.

  • Le fichier PHP associé: image.php

Votre navigateur ne possède pas tous les prérequis pour que ce script fonctionne correctement!
  • support du javascript
  • support de document.getElementById()

1. Hello World!






2. Addition de deux nombres

+ =




3. En quoi ce nombre est-il spécial? (entrez un nombre de 0 à 9999)

- Peut prendre du temps si les cookies sont désactivés!
- La réponse sera en anglais
- Les données ont été prises sur http://www.stetson.edu/~efriedma/numbers.html