我很傻到相信所有现代浏览器都支持CORS
(Cross-Origin Resource Sharing)。
当我的玩具JavaScript工具无法在IE9或Opera上运行时,我发现前者只支持CORS
到XDomainRequest
,jQuery似乎不支持。 Opera根本不支持CORS
。
现在,jQuery有一个抽象接口,可以以相同的方式执行正常的相同域AJAX查询,CORS
查询,甚至JSONP
查询。
这个界面是否有进一步的扩展,即使XDomainRequest
也可以使用,当JSONP
不可用时又回到CORS
?
答案 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>
这很简单!