|
|
Il y a un certain nombre de cas dans lesquels vous ne pourriez pas avoir l'appui de XMLHttpRequest. Le plus commun serait dans le cas d'un navigateur plus âgé. Il est le plus difficile de travailler c'autour, pas parce qu'il n'y a aucune chute d'AJAX, mais parce que toute l'autre manipulation de DOM que vous faites dans l'application ne fonctionnera pas. Un autre cas de problème est quand votre navigateur soutient tout qui est nécessaire excepté XMLHttpRequest. Ce problème pourrait se produire quand l'IE est en mode où il ne peut pas employer ActiveXObjects ou quand vous employez une version pre-7.6 d'opéra.
Dans certains cas, particulièrement des applications d'Intranet, il est facile d'exiger juste une mise à niveau, mais si vous voulez employer AJAX sur un emplacement public, vous voudrez penser à employer une certaine sorte de mécanisme de chute. Le meilleur candidat pour une chute doit employer IFrames caché. Une autre option doit employer des biscuits, mais ils peuvent envoyer seulement une quantité limitée de données par demande, ainsi il est difficile de se laisser tomber dans des approches biscuit-basées comme remplacement pour le code qui a été écrit avec XMLHttpRequest à l'esprit. Seulement XMLHttpRequest soutient des appels synchrones, ainsi s'ils sont nécessaires pour votre application, alors l'employer car une chute ne sera pas possible.
| Technique | Avantages | Inconvénients |
|---|---|---|
| XMLHttpRequest | Peut faire des demandes aux pages pas installent
pour AJAX Bidon set/get tous les en-têtes de HTTP Peut faire des demandes de HTTP en utilisant n'importe quel type (OBTENEZ, SIGNALEZ, PROPFIND, et ainsi de suite) Plein contrôle de soutiens des demandes de POTEAU, tenant compte de tout type de codage de données |
Demandes ActiveX d'être permis dans IE 5 et 6 Est seulement disponible dans de plus nouvelles versions d'opéra et de safari A de petites différences d'exécution entre les navigateurs |
| IFrame | Peut faire le POTEAU et OBTENIR des demandes de
HTTP Supportes tous les navigateurs modernes Soutient des téléchargements asynchrones de dossier |
Interdit des demandes synchrones Des pages de serveur doivent être conçues pour travailler avec des demandes d'IFrame A des différences d'exécution entre les navigateurs Peut laisser les entrées supplémentaires dans l'histoire de navigateur (dépend du navigateur et de l'exécution) Toutes les données de demande URL-SONT codées, taille croissante de demande |
| Biscuits | Soutient le plus grand nombre de navigateurs Peu de différences d'exécution entre les navigateurs |
N'interdit aucune demande synchrone Ne travaille pas avec grand requests/results Exige des pages de serveur d'être conçu pour travailler avec des demandes de biscuit Exige le vote sur le client peut faire seulement POUR OBTENIR des demandes de HTTP |
Si vous employez un XMLHttpRequest entièrement enveloppé et vous n'employez pas des appels synchrones, fournir la chute transparente à votre programme devrait être possible. Vous devez remplacer seulement le lancement final d'une exception dans la méthode d'init d'exemple avec l'instantiation de votre client de HTTP d'IFrame. L'article principal à se rappeler au sujet d'employer une autre approche au lieu de XMLHttpRequest est qu'il ne va pas vous gagner des sauts énormes dans la compatibilité.
Les navigateurs principaux soutiennent déjà XMLHttpRequest. Cet appui fait des navigateurs avec le Javascript arrêté, pas ceux qui courent un navigateur sans support, le plus grand groupe qui ne peut pas employer votre application d'AJAX.
Online: 558 users browsing the articles directory
|
|