A有问题......
我向服务器创建了一个请求。我需要在URL上下载照片,但是“访问控制 - 允许 - 来源”不允许我这样做。拜托,帮助我!
var xhr = new XMLHttpRequest();
xhr.open('GET',"`http://scontent-b.cdninstagram.com/hphotos-ash/t51.2885-15/925251_476615232484089_631852735_n.jpg`", true);
xhr.responseType = 'blob';
xhr.setRequestHeader('Access-Control-Allow-Origin', '`https://ipfmnlpkligplampkpahcmideefmcmpl.chromiumapp.org/`');
xhr.onload = function(e){
$("<img src='"+window.URL.createObjectURL(this.response)+"'>").append("body");
};
xhr.send();
控制台:
XMLHttpRequest cannot load `http://scontent-a.cdninstagram.com/hphotos-ash/t51.2885-15/10362165_1441926822728933_946328003_n.jpg`. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-`extension://ipfmnlpkligplampkpahcmideefmcmpl`' is therefore not allowed access.
答案 0 :(得分:1)
在Chrome应用中,您不必担心cross-domain permissions in XHRs。
您需要确保在清单的权限中指定了您正在加载的资源。
P.S。您的解决方法无效,因为您正在设置请求字段,错误与响应字段有关。
答案 1 :(得分:0)
您可以在Vanilla中直接使用<img>
完成此操作。
(function (src) {
var img = new Image(); // or document.createElement('img');
function _load() {
this.removeEventListener('load', _load);
document.body.appendChild(this);
}
img.addEventListener('load', _load);
img.src = src; // fetch
}('http://scontent-b.cdninstagram.com/hphotos-ash/t51.2885-15/925251_476615232484089_631852735_n.jpg'));