Le contenu de cet article est de parler brièvement de la prise en charge du navigateur Ajax, afin que tout le monde puisse comprendre la méthode d'écriture de compatibilité pour créer un objet XMLHttpRequest. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Tout d'abord, nous devons savoir que la clé d'Ajax est l'objet XMLHttpRequest, qui peut être utilisé pour échanger des données avec le serveur en arrière-plan et obtenir des données d'arrière-plan dans le navigateur via celui-ci. [Tutoriels vidéo associés recommandés : Tutoriel Ajax]
Mais différents navigateurs ont différentes méthodes pour créer des objets XMLHttpRequest. Par exemple :
Le navigateur IE utilise ActiveXObject pour créer, tandis que d'autres navigateurs utilisent un objet JavaScript intégré nommé XMLHttpRequest pour créer.
Cela conduit également à une prise en charge différente des navigateurs pour Ajax. Tous les navigateurs ne prennent pas en charge Ajax. Jetons un coup d'œil à la liste des principaux navigateurs prenant en charge AJAX :
1. Mozilla Firefox 1.0 et supérieur.
2. Netscape 7.1 et supérieur.
3. Apple Safari 1.2 et supérieur.
4. Microsoft Internet Explorer 5 et supérieur.
5.
6. Opéra 7.6 et supérieur.
Pour créer cet objet pour différents navigateurs, nous devons écrire un morceau de code spécifique. Jetons un coup d'œil à la méthode d'écriture de compatibilité pour créer un objet XMLHttpRequest :
Ici, nous devons utiliser l'instruction try...catch en JavaScript. Si vous n'êtes pas familier avec l'instruction try...catch, vous pouvez vous référer à l'article précédent [Qu'est-ce que l'instruction try...catch en js ? Comment utiliser ? 】 !
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script language = "javascript" type = "text/javascript"> //浏览器支持代码 function ajaxFunction() { var ajaxRequest; // 声明一个ajaxRequest变量,用来保存XMLHttpRequest 对象 try { // 兼容:Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); //创建XMLHttpRequest 对象 } catch (e) { // 兼容:Internet Explorer 浏览器 try { ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { // 出了问题时 alert("您的浏览器不支持Ajax!"); return false; } } } } </script> </head> <body> <form name = 'myForm'> 姓名: <input type = 'text' name = 'username' /> <br /> 时间: <input type = 'text' name = 'time' /> </form> </body> </html>
Dans le code JavaScript ci-dessus, nous essayons de créer l'objet XMLHttpRequest trois fois.
Notre premier essai :
// 兼容:Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest();
Cette déclaration fonctionne sur les navigateurs Opera 8.0+, Firefox et Safari. Si cela échoue, nous pouvons également essayer deux fois de créer le bon objet sur le navigateur Internet Explorer :
Nos deuxième et troisième tentatives : Compatible avec les navigateurs Internet Explorer
//第二次尝试: // 兼容:Internet Explorer 6.0+ ajaxRequest = new ActiveXObject(“Msxml2.XMLHTTP”); //第三次尝试: // 兼容:Internet Explorer 5.5+ ajaxRequest = new ActiveXObject(“Microsoft.XMLHTTP”);
Si aucune de ces trois méthodes ne fonctionne, l'utilisateur utilise un navigateur obsolète et il verra une invite indiquant que le navigateur ne prend pas en charge AJAX.
Remarque :
Les codes de personnalisation des navigateurs ci-dessus sont très longs et complexes. Cependant, ce code est pratique si vous souhaitez créer un objet XMLHttpRequest, afin que vous puissiez copier et coller ce code chaque fois que vous en avez besoin. Les codes ci-dessus sont compatibles avec tous les principaux navigateurs : Internet Explorer, Opera, Firefox, Safari, etc.
Résumé : Ce qui précède est tout le contenu présenté dans cet article, j'espère qu'il sera utile à l'étude de chacun.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!