Ajax-browser-support

提供:Dev Guides
移動先:案内検索

AJAX-ブラウザのサポート

使用可能なすべてのブラウザーはAJAXをサポートできません。 AJAXをサポートする主要なブラウザのリストを次に示します。

  • Mozilla Firefox 1.0以降。
  • Netscapeバージョン7.1以降。
  • Apple Safari 1.2以降。
  • Microsoft Internet Explorer 5以降。
  • Konqueror。
  • Opera 7.6以降。

次のアプリケーションを作成するときは、AJAXをサポートしていないブラウザーを検討してください。

-ブラウザーがAJAXをサポートしていないという場合、ブラウザーがJavascriptオブジェクト(XMLHttpRequestオブジェクト)の作成をサポートしていないことを意味します。

ブラウザ固有のコードを書く

ソースコードをブラウザと互換性があるようにする最も簡単な方法は、JavaScriptで_try …​ catch_ブロックを使用することです。

<html>
   <body>
      <script language = "javascript" type = "text/javascript">
         <!--
        //Browser Support Code
         function ajaxFunction() {
            var ajaxRequest; //The variable that makes Ajax possible!

            try {
              //Opera 8.0+, Firefox, Safari
               ajaxRequest = new XMLHttpRequest();
            } catch (e) {

              //Internet Explorer Browsers
               try {
                  ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
               } catch (e) {

                  try {
                     ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e) {

                    //Something went wrong
                     alert("Your browser broke!");
                     return false;
                  }
               }
            }
         }
        //-->
      </script>

      <form name = 'myForm'>
         Name: <input type = 'text' name = 'username'/> <br/>
         Time: <input type = 'text' name = 'time'/>
      </form>

   </body>
</html>

上記のJavaScriptコードでは、XMLHttpRequestオブジェクトを作成するために3回試行します。 私たちの最初の試み-

  • ajaxRequest = new XMLHttpRequest();

Opera 8.0 +、Firefox、およびSafariブラウザー用です。 失敗した場合は、さらに2回、Internet Explorerブラウザ用の正しいオブジェクトを作成してみます-

  • ajaxRequest = new ActiveXObject( "Msxml2.XMLHTTP");
  • ajaxRequest = new ActiveXObject( "Microsoft.XMLHTTP");

動作しない場合は、XMLHttpRequestをサポートしていない非常に古いブラウザーを使用できます。つまり、AJAXをサポートしていません。

ただし、ほとんどの場合、変数ajaxRequestはブラウザーが使用する_XMLHttpRequest_標準に設定され、サーバーへのデータ送信を開始できます。 段階的なAJAXワークフローについては、次の章で説明します。