canvas教程

快速解决canvas.todataurl 图片跨域的问题

字号+ 作者:H5之家 来源:H5之家 2016-08-22 11:02 我要评论( )

当前位置 : 首页 网络编程 快速解决canvas.todataurl 图片跨域的问题 出现canvas.todataurl 图片跨域问题怎么解决呢?下面小编就为大家带来一篇canvas.todataurl 图片跨域问题的快速解决方法。 如题,在将页面的图片地址进行本地输出时(html2canvas.js),

当前位置 : 首页> 网络编程

快速解决canvas.todataurl 图片跨域的问题

出现canvas.todataurl 图片跨域问题怎么解决呢?下面小编就为大家带来一篇canvas.todataurl 图片跨域问题的快速解决方法。

如题,在将页面的图片地址进行本地输出时(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 图片跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考

更多网络编程信息请查看: 网络编程

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 调用HTML5的Canvas API绘制图形的快速入门指南

    调用HTML5的Canvas API绘制图形的快速入门指南

    2016-08-22 10:00

  • PhantomJS快速入门教程

    PhantomJS快速入门教程

    2016-07-03 18:03

  • 解决canvas画图模糊的问题

    解决canvas画图模糊的问题

    2016-05-28 16:01

  • Expression Blend范例中文教程(4) - 布局控件快速入门Canvas

    Expression Blend范例中文教程(4) - 布局控件快速入门Canvas

    2016-03-17 11:00

网友点评
'