国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 静乐县| 屏南县| 双柏县| 临城县| 海门市| 凤庆县| 陆川县| 葫芦岛市| 莫力| 巴东县| 蒲城县| 赣榆县| 黔南| 丰都县| 英德市| 泽库县| 台前县| 余干县| 无极县| 堆龙德庆县| 咸丰县| 拉萨市| 鄂伦春自治旗| 舞阳县| 荔波县| 漾濞| 马龙县| 九寨沟县| 周宁县| 漳浦县| 德安县| 莱芜市| 泰兴市| 双城市| 鄂温| 社旗县| 平武县| 察隅县| 中超| 延边| 油尖旺区|