快速解决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 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
JS 修改URL参数(实现代码)
Jul 08 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
javascript中的this详解
Dec 08 Javascript
使用AngularJS 应用访问 Android 手机的图片库
Mar 24 Javascript
jQuery的animate函数实现图文切换动画效果
May 03 Javascript
浅析jquery数组删除指定元素的方法:grep()
May 19 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
koa+jwt实现token验证与刷新功能
May 30 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
Jun 19 Javascript
详解nginx配置vue h5 history去除#号
Nov 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中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
jquery删除table当前行的实例代码
2016/10/07 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
python绘制直线的方法
2018/06/30 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python requests设置代理的方法步骤
2020/02/23 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
和平主题的演讲稿
2014/01/12 职场文书
工作时间上网检讨书
2014/02/03 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
文明社区申报材料
2014/08/21 职场文书
捐书倡议书
2014/08/29 职场文书
酒店员工管理制度
2015/08/05 职场文书
初中语文教学反思范文
2016/03/03 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
MySQL日期时间函数知识汇总
2022/03/17 MySQL