safari ios 关于 canvas.toDataUrl 报错the operation is insecure

safari ios 关于 canvas.toDataUrl 报错the operation is insecure

月光魔力鸭

2020-10-22 17:57 阅读 5847 喜欢 10 safari canvas.toDataUrl

今天一个一直都很正常的功能跑在了safari浏览器上,结果报错了。

错误:The operation is insecure . 在使用canvas的 toDataUrl的时候报错,看了很多资料,基本上都说是设置跨域,但是我一直都有的啊。其实,只是顺序错了,setAttribute('crossOrigin','Anonymous') 要在设置 src之前设置。

如何解决?重要的事情说三遍: 跨域要在设置src之前设置。 跨域要在设置src之前设置。 跨域要在设置src之前设置。

OK 问题解决了。

var image = new Image();
//位置换一下下。
image.setAttribute("crossOrigin",'Anonymous');//跨域在前
image.src = href.href;//赋值在后
//剩下就可以安心的调用toDataUrl了。

当然,你也有可能是其他原因。

转载请注明出处: https://chrunlee.cn/article/web-canvas-ios-safari-error.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
整理下关于axios的使用,一些常用的调用、处理以及其他。
java 对象中有很多引用,甚至会出现循环引用,比如 user 对象中有 school 对象,school 对象中又有 user 对象,这样在对 user 对象序列化的时候,就会出现死循环,导致内存溢出。通过一定的方式,将每个对象增加ID 和 REF 引用标识最终可以解决这个问题
通过jspdf ,我们可以将页面或图片生成pdf下载下来,如果是一些复杂的页面,我们可以将页面转成图片,然后把图片加入到pdf中,生成并下载。
之前的时候都是在各大主机厂商手动进行申请免费的,直到阿里的免费期限变更为3个月.. 我就开始觉的有些麻烦了,还不如使用这个let's encrypt进行部署呢。
前端时间搞了个小转码,放在后台,但是特别占带宽,想着能不能从前台把这个事搞定呢?读取图片的二进制,然后将字节流处理后重新生成图片展示处理啊。
近期需求:将一棵树导出到excel中,树是ztree,通过插件Table2excel导出table到excel中。
Question from codewar,about all of array combinations.
最近折腾的少了,实在没的写了,大约三四个月没更新了,先水一篇。