快速解决Canvas.toDataURL 图片跨域的问题
如题,在将页面的图片地址进行本地输出时(Html2Canvas.js),因不同源存在跨域问题,会出现toDataURL访问权限问题:
【Redirectatorigin'http://sub1.xx.com'hasbeenblockedfromloadingbyCross-OriginResourceSharingpolicy:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://sub2.xx.com'isthereforenotallowedaccess.】
解决方案:
根据错误分析需要在控制头增加“Access-Control-Allow-Origin”,即允许访问源文件权限,那么我们对这个页面【注意是要输出页面的图片】这样处理:
varimg=newImage; img.onload=myLoader; img.crossOrigin='anonymous';//可选值:anonymous,* img.src='http://myurl.com/....';
或者是HTML中
<imgsrc=""id="imgclcd"crossorigin="anonymous">
核心是请求头中包含了Origin:"anonymous"或"*"字段,响应头中就会附加上Access-Control-Allow-Origin:*字段,问题解决。
以上这篇快速解决Canvas.toDataURL图片跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。