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


Posted in Javascript onMay 10, 2016

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

Javascript 相关文章推荐
javascript innerText和innerHtml应用
Jan 28 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
Feb 26 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
Dec 28 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
Jul 01 Javascript
javascript实现动态标签云
Oct 16 Javascript
jQuery实现淡入淡出的模态框
Feb 09 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
Mar 09 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
浅谈Vue路由快照实现思路及其问题
Jun 07 Javascript
JS正则表达式常见用法实例详解
Jun 19 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
vue中的.$mount('#app')手动挂载操作
Sep 02 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 #Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
May 10 #Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
May 10 #Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 #Javascript
详解JavaScript中的自定义事件编写
May 10 #Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
May 10 #Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
May 10 #Javascript
You might like
PHP has encountered an Access Violation
2007/01/15 PHP
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
php 分页函数multi() discuz
2009/06/21 PHP
PHP 编程安全性小结
2010/01/08 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
简单的php文件上传(实例)
2013/10/27 PHP
PHP实现的json类实例
2015/07/28 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
js 判断 enter 事件
2009/02/12 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
tensorflow 查看梯度方式
2020/02/04 Python
《花瓣飘香》教学反思
2014/04/15 职场文书
本科生就业推荐信
2014/05/19 职场文书
主题班会演讲稿
2014/05/22 职场文书
医院标语大全
2014/06/23 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
团结友爱主题班会
2015/08/13 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android