- 締切済み
以下のスクリプトがVista×IE8、Firefox(現時点でわかって
以下のスクリプトがVista×IE8、Firefox(現時点でわかっているところで)で、 想定と異なった動作をしてしまいます。 XP上であれば、特に問題なく動くのですが、Win7は手元にないので、わかりません。 しかし、原因が一向にわからず・・・。 ご教授いただけますと幸いです。 var xhr; function prefCheck(){ ~省略~ xhr = false; if(window.ActiveXObject) { try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } } else if(window.XMLHttpRequest) { xhr = new XMLHttpRequest(); xhr.overrideMimeType('text/xml'); } xhr.onreadystatechange=PrefCheck; xhr.open("GET","hogehoge.php, true); xhr.send(null); } function PrefCheck(){ if ((xhr.readyState == 4) && (xhr.status == 200)){ window.alert("hogehogehogehogehogehoge"); } }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yyr446
- ベストアンサー率65% (870/1330)
もはや、あんまり古いIEまで救ってやる必要は無いような気がするんですが、 一応 var xhr; if(XMLHttpRequest) xhr = new XMLHttpRequest(); //IE7,IE8,IE9,Firefox,Chrome,Safari else if (window.ActiveXObject){ try{xhr = new ActiveXObject("Msxml2.XMLHTTP");} //IE6(Win2000以降) catch(e){xhr = new ActiveXObject("Microsoft.XMLHTTP");} //もっと古いやつ }else xhr = null;