快速解决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 相关文章推荐
Extjs4中Form的使用之本地hiddenfield
Nov 26 Javascript
如何判断元素是否为HTMLElement元素
Dec 06 Javascript
javascript实现Table排序的方法
May 15 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
jQuery鼠标悬停内容动画切换效果
Apr 27 jQuery
微信小程序Redux绑定实例详解
Jun 07 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 Javascript
javascript数组去重方法总结(推荐)
Mar 20 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
JavaScript 如何计算文本的行数的实现
Sep 14 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP7.0版本备注
2015/07/23 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
node.js开机自启动脚本文件
2014/12/24 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
php 修改密码实现代码
2017/05/24 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
Vue实现本地购物车功能
2018/12/05 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
python分割文件的常用方法
2014/11/01 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
python如何删除文件、目录
2020/06/23 Python
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
会计找工作求职信范文
2013/12/09 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
大学生入党群众意见书
2015/06/02 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
Ajax实现三级联动效果
2021/10/05 Javascript
Linux安装apache服务器的配置过程
2021/11/27 Servers
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers