0

そのため、ユーザーが高ピクセル密度のデバイスを使用しているときに、通常のグラフィックを網膜のグラフィックに交換するjQueryプラグインを構築しています。そのスワップの一部では、ファイルの網膜バージョンがWeb上の特定のURLに存在するかどうかを確認する必要がありました。チェック方法は次のとおりです。

function urlExists(url) {
    var http = new XMLHttpRequest();
    http.open('HEAD', url, false);
    http.send();
    return http.status!=404;
};

ただし、現在のサーバーとは別のサーバーにあるファイルをチェックしようとすると、コンソールで次のエラーが発生して失敗します。

XMLHttpRequest Exception 101: A network error occurred in synchronous requests.

プラグインをロードするすべてのサイトでこれが機能するように、クロスドメインXML httpsリクエストを許可するにはどうすればよいですか?

また、最終的にはこれをJSに変換したいので、jQueryなしで変換するのが最適です。

これがJSFiddleです:http://jsfiddle.net/JacksonGariety/7YYgP/1/ 注:網膜デバイスの部分のチェックをコメントアウトしたので、テストできます)

4

1 に答える 1

0

クロスドメインAJAXリクエストの許可は、クライアントではなくサーバー構成に依存します(私が知っている限り)。つまり、jQuery / JSプラグインだけをロードするだけでは、クロスドメインAJAXリクエストが成功/許可されることを保証する方法はありません。

でも、もしあれば、それについて知りたいです。

于 2012-06-21T10:31:19.890 に答える