这个问题已经很常见了
在图片标签上加上crossOrigin="anonymous"
let image = new Image();
image.src = url;
image.crossOrigin = "anonymous"
image.setAttribute("crossOrigin",'anonymous');
但是今天发现在safira浏览器 苹果本上依然会出现这个跨域问题 于是百度到别人的建议 特此记录下来
通过XMLHttpRequest
对象获取图片的blob
数据,然后再传递给图片src
,就能完美解决
function getImageBlob(url, callback) {
const xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function () {
if (parseInt(this.status, 10) === 200) {
if (typeof callback === 'function') {
callback(URL.createObjectURL(this.re