2012-02-24 4 views
4

クロスドメインAJAXリクエストを送信するサイトがCORSをサポートしているかどうかを確認するために、ブラウザ間の最小限のJavascriptコード(jQueryも問題ありません)を確認することができます。クロスドメインXMLHttpRequestsのサーバー/サイトサポートを検出しますか?

私はjQueryがのブラウザがそれをサポートしているかどうかをチェックする方法を知っています。しかし、私は実際にリモートサイトもそれをサポートしているかどうかをチェックできるようにしたいと思います。

私はちょうどHTTPヘッダーをチェックしなければならないと思っていましたが、XHRは特にそれをサポートしていないサイトへのクロスドメイン要求をしようとすると例外をスローします。

XMLHttpRequestによってスローされた例外が、他の何かが間違っているのではなくCORSをサポートしていないサイトであることを確認する方法はありますか?

いずれにしても、AJAXを使用してHTTP HEADをフェッチするためのブラウザ間の最短/最速の方法がわかりません。フェッチするのではなく、軽量な方法ですページなど

ユースケース:私はブラウザとAJAXプロバイダのサポートCORSかどうか知ってたら、私はより多くの機能豊富JSON/CORSリクエストを送信したり、JSONP要求時に必要にフォールバックするかどうかを選択できます。

答えて

1

specificationまでは、不可能です。 network error stepsは、いずれの場合にも適用されているので

If there is a network error: In case of DNS errors, TLS negotiation failure, or other type of network errors, apply the network error steps. Do not request any kind of end user interaction...

Otherwise: Perform a resource sharing check. If it returns fail, apply the network error steps...

は、CORSが許可されていない場合を識別するための特別な方法はありません。

関連する問題