我想通过xhr得到一个http:// javascript文件,但我遇到了上面提到的错误。XMLHttpRequest无法加载原产地不允许访问控制允许来源
这里是我的代码:
function getXHR() {
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if (is_chrome) {
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://api.widgets.org/widget/1.1.2/widget_api.js?autoCreate=false&log=true", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var s = document.createElement('script');
s.textContent = xhr.responseText;
(document.head||document.documentElement).appendChild(s);
s.parentNode.removeChild(s);
}
}
xhr.send();
}
}
这仅适用于Chrome浏览器,因为我想使用HTTPS的脚本://而Chrome会自动阻止任何的http://。从中获得脚本的服务器不运行https://并且我需要脚本/有多个脚本,我宁愿不要将它们全部复制到数据文件中。
我遇到的错误:
XMLHttpRequest cannot load http://api.widgets.org/widget/1.1.2/widget_api.js?autoCreate=false&log=true. Origin https://mysite.com is not allowed by Access-Control-Allow-Origin.
[同源策略](https://developer.mozilla.org/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript) – epascarello 2013-02-08 17:32:24