オブジェクトの作成
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/08/02 14:24 UTC 版)
「XMLHttpRequest」の記事における「オブジェクトの作成」の解説
Internet Explorer 5および6ではActiveXオブジェクトでしか存在しないため、以下のようなフォールバックコードが多用される。 var xhr;if (XMLHttpRequest) { // 組み込みオブジェクトとして定義されていればそれを利用 xhr = new XMLHttpRequest();} else { // さもなくばActiveXオブジェクトを利用 try { xhr = new ActiveXObject('MSXML2.XMLHTTP.6.0'); } catch (e) { try { xhr = new ActiveXObject('MSXML2.XMLHTTP.3.0'); } catch (e) { try { xhr = new ActiveXObject('MSXML2.XMLHTTP'); } catch (e) { alert("ActiveXを有効にしてください"); } } }} MSXMLのどのバージョンを利用するかについて、マイクロソフトのXMLチームはベストとして6.0、代替として3.0を推奨している。 また、見やすさと利便性を考慮してこのようなコードも使われる。関数化により簡単に扱えるようにし、return文は関数を終了する働きを持っていることを利用して見やすさを向上させている。 function createXMLHttpRequest(){if(window.XMLHttpRequest){return new XMLHttpRequest()}if(window.ActiveXObject){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}return false;}; さらに、このように圧縮したコードを書くこともできる。 function createXMLHttpRequest(a,e,i){if(XMLHttpRequest){return new XMLHttpRequest()}if(ActiveXObject){a="Msxml2.XMLHTTP.";a=["Microsoft.XMLHTTP",a+"3.0",a+"6.0"];for(i=3;i--;){try{return new ActiveXObject(a[i])}catch(e){}}}return !1};
※この「オブジェクトの作成」の解説は、「XMLHttpRequest」の解説の一部です。
「オブジェクトの作成」を含む「XMLHttpRequest」の記事については、「XMLHttpRequest」の概要を参照ください。
- オブジェクトの作成のページへのリンク