0

因此,我正在构建一个 jQuery 插件,以便在用户使用高像素密度设备时将普通图形替换为视网膜图形。该交换的一部分需要检查文件的视网膜版本是否存在于网络上的某个 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 回答