国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js關于getImageData跨域問題的解決方法

2019-11-20 08:45:07
字體:
供稿:網(wǎng)友

在學習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()調(diào)用了getImageData函數(shù),但是圖片存儲在本地文件,默認為沒有域名,chrome瀏覽器判定為跨域才報錯!

解決方法:1、將圖片放置在服務器中,由服務器返回給客戶端瀏覽器,遵循同源策略;

                    2、在IE、Firefox瀏覽器中打開。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 革吉县| 确山县| 偃师市| 南康市| 菏泽市| 宁南县| 邢台市| 龙泉市| 晴隆县| 迁安市| 张家口市| 咸宁市| 海原县| 宜黄县| 徐水县| 东乡族自治县| 教育| 贡觉县| 拉萨市| 栾城县| 舞阳县| 临猗县| 孝昌县| 依安县| 梁河县| 临西县| 滦南县| 东丽区| 沂水县| 开远市| 漳浦县| 泰安市| 徐汇区| 河曲县| 长宁县| 长治县| 东阳市| 奉节县| 鄂州市| 镇康县| 潞城市|