2017-01-04 7 views
4

私は自分のプロジェクト用に小さな非同期ライブラリで作業しています。私はTypeScriptでそれをコード化することにしましたが、私のコンパイラは私にエラー'XMLHttpRequest' does not exist on type 'Window'を投げています。XMLHttpRequestが型ウィンドウに存在しません

私が達成したいのは、ウィンドウにXMLHttprequestがない場合、ActiveXObjectの作成です。

if (window.XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
} else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

私はそれを含める必要はありませんが、それはなぜですか?事がTypescriptが持っているということです

if ((<any>window).XMLHttpRequest) { 
    xmlhttp = new XMLHttpRequest(); 
} else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

:これを試してみてください私が使用している


IDEは(も私にエラーが表示されます)VSコードであり、私はgulp-tsify

+0

XHRをネイティブにサポートしていないブラウザを見つけるには、長い道のりに戻らなければなりません。 –

+1

もちろん、私はそれを理解していますが、私は興味がありました。私は実際にそれだけでなく、私の友人のためにそれを作っているし、彼らが使っているブラウザのバージョンが分からない。彼らのマシンの1つにXPの勝利を見たので、それを準備する方がいいです:) –

答えて

9

してコンパイルしていますその型のプロパティを定義するすべてのオブジェクトの型。時にはそれらの定義から不足しているプロパティ(または後で動的に追加されるプロパティ)があります。型をanyにキャストすると、それを匿名として処理しますタイプ。

関連する問題