是否有一个jQuery解决方案在可用时使用CORS并在使用niether的浏览器上回退到MSIE和JSONP上的XDomainRequest?

时间:2011-12-31 14:42:29

标签: jquery internet-explorer cross-domain jsonp cors

我很傻到相信所有现代浏览器都支持CORS (Cross-Origin Resource Sharing)

当我的玩具JavaScript工具无法在IE9或Opera上运行时,我发现前者只支持CORSXDomainRequest,jQuery似乎不支持。 Opera根本不支持CORS

现在,jQuery有一个抽象接口,可以以相同的方式执行正常的相同域AJAX查询,CORS查询,甚至JSONP查询。

这个界面是否有进一步的扩展,即使XDomainRequest也可以使用,当JSONP不可用时又回到CORS

2 个答案:

答案 0 :(得分:6)

以下是JQuery中XDomainRequest支持的插件:

https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

还有一个jQuery功能请求添加此功能:

http://bugs.jquery.com/ticket/8283

请注意,错误报告说IE9中的插件可能存在问题,因此YMMV。它最终被关闭了,因为插件存在是为了完成这项工作。

答案 1 :(得分:3)

看看xReader

<script src="http://kincrew.github.com/xReader/xReader.full.js"></script> 
<script type="text/javascript"> 
xReader("http://www.yahoo.com/", function(data) { 
    alert(data.content); 
})
</script>

这很简单!