快速解决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处理table表格的代码
Dec 06 Javascript
通过jquery还原含有rowspan、colspan的table的实现方法
Feb 10 Javascript
js前台分页显示后端JAVA数据响应
Mar 18 Javascript
javascript中的startWith和endWith的几种实现方法
May 07 Javascript
深入解析JavaScript编程中的this关键字使用
Nov 09 Javascript
最实用的jQuery分页插件
Oct 09 Javascript
JavaScript之Canvas_动力节点Java学院整理
Jul 04 Javascript
js判断节假日实例代码
Dec 27 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
用Vue.js方法创建模板并使用多个模板合成
Jun 28 Javascript
javascript异常处理实现原理详解
Feb 17 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
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
layui表格实现代码
2017/05/20 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
Vue组件化开发思考
2018/02/02 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
tensorflow识别自己手写数字
2018/03/14 Python
详解Python time库的使用
2019/10/10 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
python zip()函数使用方法解析
2019/10/31 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
python实现微信打飞机游戏
2020/03/24 Python
Python如何安装第三方模块
2020/05/28 Python
python程序需要编译吗
2020/06/19 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
建筑经济管理专业求职信分享
2014/01/06 职场文书
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
学生操行评语大全
2014/04/24 职场文书
社会实践的活动方案
2014/08/22 职场文书
给客户的检讨书
2014/12/21 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
导游词之无锡东林书院
2019/12/11 职场文书