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ワークフローについては、次の章で説明します。