任何托管版本的jQuery都设置了“Access-Control-Allow-Origin:*”标头?

前端之家收集整理的这篇文章主要介绍了任何托管版本的jQuery都设置了“Access-Control-Allow-Origin:*”标头?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近一直在使用jQuery并遇到一个问题,我无法将其包含在用户脚本中,因为XmlHttpRequest使用 same origin policy.经过进一步测试后,我发现大多数浏览器也支持W3C定义的 Cross-Origin Resource Sharing访问控制作为问题的解决方法同源政策.我通过在包含Access-Control-Allow-Origin:* http标头的本地Web服务器上托管jQuery脚本来测试这一点,该标头允许使用XmlHttpRequest下载脚本,以便它可以包含在我的用户脚本中.我想在发布脚本时使用托管版本的jQuery,但到目前为止使用像 http://www.seoconsultants.com/tools/headers这样的工具进行测试我还没有发现任何允许跨源访问jQuery脚本的站点.这是我到目前为止测试的列表:

> http://www.asp.net/ajaxlibrary/CDN.ashx
> http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery
> http://docs.jquery.com/Downloading_jQuery#CDN_Hosted_jQuery

是否有任何其他托管版本的jQuery允许跨源访问?我知道jQuery通常是通过脚本标记(有时是动态创建的脚本标记)加载的,但在这种特定情况下,我必须使用XmlHttpRequest和Eval来确保它被加载到正确的范围内. Google Chrome支持用户脚本但不支持@require,这意味着使用jquery in a user script in Google Chrome的唯一方法是将其嵌入.user.js文件中,或通过XmlHttpRequest加载和评估它.嵌入是一个不太理想的解决方案,虽然Chrome Extensions允许您将jQuery js文件包含在扩展中,但我更喜欢使用用户脚本,因为它们更简单,并且可以在多个浏览器中工作.我已经提交了Google Ajax APIsjQuery团队的门票,允许跨域访问CDN,但我的猜测是我现在必须自己托管它.

解决方法

由于您提出了此问题,因此Google CDN已按要求添加了这些标头.快速GET为 https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js产生标题
access-control-allow-origin:*

所以添加这样的脚本标签,你就可以了:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" crossorigin="anonymous" type="text/javascript"></script>

猜你在找的jQuery相关文章