技术牛人介绍js关于getImageData跨域问题的解决方法
时间:2022-01-19 10:44:35|来源:网络精心整理
这篇文章主要讲解的是js关于getImageData跨域问题的解决方法,文章内容非常详细,相信一定可以解决你的问题,需要的朋友可以参考下哦
在学习h5的时候,canvas标签中getImageData()报错:security error!
具体代码如下(chrome浏览器):
function createGSCanvas(img){ var canvas=document.createElement("canvas"); canvas.width=img.width; canvas.height=img.height; var ctx=canvas.getContext("2d"); ctx.drawImage(img,0,0); var c=ctx.getImageData(0,0,img.width,img.height); for(var i=0;i<c.height;i++){ for(var j=0;j<c.width;j++){ var x=(i*4)*c.height+(j*4); var r=c.data[x]; var g=c.data[x+1]; var b=c.data[x+2]; c.data[x]=c.data[x+1]=c.data[x+2]=(r+g+b)/3; } } ctx.putImageData(c,0,0,0,0,c.width,c.height); return canvas.toDataURL(); }
报错信息如下:Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
原因:createGSCanvas()调用了getImageData函数,但是图片存储在本地文件,默认为没有域名,chrome浏览器判定为跨域才报错!
解决方法:1、将图片放置在服务器中,由服务器返回给客户端浏览器,遵循同源策略;
2、在IE、Firefox浏览器中打开。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持它帮你网。
上一篇:大师阐述前端js实现文件的断点续传 后端PHP文件接收
本文标题:技术牛人介绍js关于getImageData跨域问题的解决方法
本文地址:https://www.tabangni.com/jsstudy/35193.html
查看更多与“js跨域getImageData”有关的文章
推荐阅读
- 1笔者传授js函数名与form表单元素同名冲突的问题
- 2技术牛人介绍js关于getImageData跨域问题的解决方法
- 3权威技术员叙述Javascript 链式作用域详细介绍
- 4老牌码农传授JavaScript实现为事件句柄绑定监听函数的方法分析
- 5老牌码农指导Makefile/cmake/node-gyp中区分判断不同平台的方法
- 6权威技术员介绍在ASP.NET MVC项目中使用RequireJS库的用法示例
- 7大神研习JsRender实用入门教程
- 8专业技术员讲诉javascript中的作用域和闭包详解
- 9大师指导jQuery实现动态生成表格并为行绑定单击变色动作的方法
- 10图文传授关于JavaScript的单双引号嵌套问题
最近更新
- 01-19笔者传授js函数名与form表单元素同名冲突的问题
- 01-19技术牛人介绍js关于getImageData跨域问题的解决方法
- 01-19权威技术员叙述Javascript 链式作用域详细介绍
- 01-19老牌码农传授JavaScript实现为事件句柄绑定监听函数的方法分析
- 01-19详解Python3中的正则表达式的基本用法
- 01-19apache2.2和php5.2.17在windows下整合过程的错误解决方法
- 01-19Windows Server2008 监控服务器性能的教程图解
- 01-19老牌码农指导Makefile/cmake/node-gyp中区分判断不同平台的方法
- 01-19PHP弹出提示框并跳转到新页面即重定向到新页面
- 01-19php中header设置常见文件类型的content-type