快速解决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与Image加载事件(onload)、加载状态(complete)
Feb 14 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
Jun 29 Javascript
探讨JavaScript中声明全局变量三种方式的异同
Dec 03 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
第二篇Bootstrap起步
Jun 21 Javascript
微信小程序 开发之快递查询功能的实现
Jan 09 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
vuex actions传递多参数的处理方法
Sep 18 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 Javascript
jQuery treeview树形结构应用
Mar 24 jQuery
javascript canvas实现雨滴效果
Jun 09 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扩展介绍与开发教程
2010/08/19 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
python机器学习之神经网络(三)
2017/12/20 Python
mac系统安装Python3初体验
2018/01/02 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
详谈tensorflow gfile文件的用法
2020/02/05 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
计算机系毕业生推荐信
2013/11/06 职场文书
产品工艺师的岗位职责
2013/11/15 职场文书
美术国培研修感言
2014/02/12 职场文书
数控机床专业自荐信
2014/05/19 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
社区国庆节活动总结
2015/03/23 职场文书
银行求职信怎么写
2019/06/20 职场文书
python - asyncio异步编程
2021/04/06 Python
HTML基本元素标签介绍
2022/02/28 HTML / CSS
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript
python如何将mat文件转为png
2022/07/15 Python