我遇到了很多人似乎在過去得到的錯誤,但解釋並不清楚。在javascript中使用.getImageData()方法獲取我存儲在我的計算機上的圖片的像素數據並將其輸入到我的HTML網頁中的img標記中後,我收到SecurityError:DOM異常18.DOM Exception 18 getImageData
I我只是在瀏覽器中運行一個HTMl文件,它阻止了我完成這些東西。我已經閱讀過有關製作代理來繞過它或在我自己的域中託管映像的信息。我不完全明白這意味着什麼或如何去做。所以,如果有人能夠提供幫助,我將不勝感激。我會在這裏輸入我的代碼,並留下鏈接到圖像。
http://i.imgur.com/8UzWlWX.png
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test</title>
<script>
function putimg() {
var img = document.getElementById('img');
var can = document.getElementById('C');
var ctx = can.getContext('2d');
ctx.drawImage(img, 0, 0);
var position = [];
var imgdata = ctx.getImageData(0,0, img.width, img.height);
var data = imgdata.data;
for (var i = 0; i < data.length; i += 4) {
if (data[i] == 255) {
var vertical = Math.floor((data.indexOf(data[i])/4)/400);
var horizontal = Math.floor((data.indexOf(data[i])/4) % 400);
position.push(horizontal, vertical);
}
}
}
ctx.putImageData(imgdata, 0, 0);
}
</script>
</head>
<body onload="putimg()">
<h1>Test</h1>
<img id="img" src="circle-image-alone.png" style="display:none"></img>
<canvas id="C" width="600" height="600"></canvas>
</body>
</html>
編輯:現在的文件是在同一文件夾中的HTML文件,但同樣的錯誤標誌出現
我從已經發送到我的電子郵件的照片。然後我將文件下載到我的電腦。但是,這仍然給我錯誤信息。 – user2517142
@ user2517142噢,抱歉似乎直接使用HTML文件與文件系統不能做到這一點。您需要在您的計算機上本地託管服務器,並像訪問真實網站一樣訪問它。嗯,我覺得有一些標誌谷歌瀏覽器放寬這雖然http://stackoverflow.com/q/4270999/995876 – Esailija