当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 快速解决Canvas.toDataURL 图片跨域的问题

快速解决Canvas.toDataURL 图片跨域的问题

2019年07月30日  | 移动技术网IT编程  | 我要评论
如题,在将页面的图片地址进行本地输出时(html2canvas.js),因不同源存在跨域问题,会出现todataurl访问权限问题: 【redirect at origi

如题,在将页面的图片地址进行本地输出时(html2canvas.js),因不同源存在跨域问题,会出现todataurl访问权限问题:

【redirect at origin 'http://sub1.xx.com' has been blocked from loading by cross-origin resource sharing policy: no 'access-control-allow-origin' header is present on the requested resource. origin 'http://sub2.xx.com' is therefore not allowed access.】

解决方案:

根据错误分析需要在控制头增加“access-control-allow-origin”,即允许访问源文件权限,那么我们对这个页面【注意是要输出页面的图片】这样处理:

var img = new image;
img.onload = myloader;
img.crossorigin = 'anonymous'; //可选值:anonymous,*   
img.src = 'http://myurl.com/....';

或者是html中

<img src="" id="imgclcd" crossorigin="anonymous">

 核心是请求头中包含了 origin: "anonymous"或"*" 字段,响应头中就会附加上 access-control-allow-origin: * 字段,问题解决。

以上这篇快速解决canvas.todataurl 图片跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网