我正在尝试通过 xhr 获取 http:// javascript 文件,但遇到了上述错误。
这是我的代码:
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.