美文网首页工作生活
canvas数据跨域读取

canvas数据跨域读取

作者: 吴晗君 | 来源:发表于2019-07-03 17:44 被阅读0次

三种办法

1.ie11才支持,ie10及以下不支持。

const im = new Image()
img.setAttribute('crossOrigin', 'Anonymous')

同时在后台设置跨域响应头。

  1. 支持ie10的跨域
    使用createObjectURLURL.createObjectURL() 静态方法会创建一个 DOMString,该字符串就是参数中给出的对象对应的URL。
    stackoverflow
    还可以看下preloadjs源码
var xhr = new XMLHttpRequest();
xhr.onload = function () {
    var url = URL.createObjectURL(this.response);
    img.src = url;

    // here you can use img for drawing to canvas and handling

    // don't forget to free memory up when you're done (you can do this as soon as image is drawn to canvas)
    URL.revokeObjectURL(url);
};
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.send();

注意这个createObjectURL这个api还可以用来做图片预览的功能,具体可以看司徒正美的文章。这两篇文章写得也很好:JavaScript 中 Blob 对象支持IE9的异步文件上传研究

  1. 要兼容ie9及一下,目前搜索情况来看只能使用代理转发,请求相同域下的图片地址。node端跨域使用node-http-proxy

相关文章

  • canvas数据跨域读取

    三种办法 1.ie11才支持,ie10及以下不支持。 同时在后台设置跨域响应头。 支持ie10的跨域使用creat...

  • 后端代理解决资源跨域

    canvas 跨域问题 如果canvas中所绘制的Image或者资源有跨域,则对canvas中的数据进行操作往往会...

  • 解决canvas图片getImageData,toDataURL

    解决canvas图片getImageData,toDataURL跨域问题 一,canvas getImageDat...

  • jsonp的跨域原理

    跨域初步 因为ajax受到同源策略的限制,不能跨域读取数据。 但有些属性不受同源策略影响,比如script标签的s...

  • canvas 图片跨域(二)

    在canvas图片跨域(一)中,关于canvas跨域问题进行处理,提供的方法是后端提供base64文件资源,既把o...

  • canvas 跨域

  • 菠萝小记 | canvas图片问题汇总

    将图片插入到canvas中 图片加载完成再插入到canvas中 解决图片跨域问题 将canvas转成图片 附带解决...

  • canvas上插入图片时跨域和覆盖问题

    终于搞定了canvas上插入图片的问题了。 先说说我遇到的问题: 跨域问题 多个图片加载问题 跨域问题 这个好说,...

  • -------跨域

    跨域 1.什么是跨域? 不同域名之间进行数据的访问。会造成跨域问题。导致的结果就是拿不到数据 如何区分是否跨域?就...

  • node跨域访问数据

    node返回数据时,设置下面头部跨域实现跨域

网友评论

    本文标题:canvas数据跨域读取

    本文链接:https://www.haomeiwen.com/subject/ckychctx.html