我得到了一個HTML5元素的問題getImageData() 我在網站上使用wScratchPad作爲臨時工具,並使用wScratchPad中的百分比函數來確定何時刪除覆蓋。它在IE9,Safari & Chrome上運行良好。但它會在Firefox中引發安全錯誤。getimagedata不工作在Firefox中
我在Chrome和IE9中也遇到了同樣的問題,但是通過將JS,Images和HTML移動到同一臺服務器來修復它。
我知道它會拋出一個錯誤,如果JS和Canvas圖像的域不在同一個域中,所以我檢查了圖像和js的document.domain。它看起來像JS是'document.domain = domain.com',圖像是document.domain = www.domain.com。
這可能是問題嗎?如果是這樣,我該如何解決它? 我已經看到了一種方法來覆蓋瀏覽器,以獲取腳本的用戶確認提醒,但看到這是一個高調的網站,這是不可能的。
低於wScratchPad的代碼導致錯誤:
scratchPercentage: function($this)
{
var hits = 0;
var imageData = $this.ctx.getImageData(0,0,$this.canvas.width,$this.canvas.height)
for(var i=0, ii=imageData.data.length; i<ii; i=i+4)
{
if(imageData.data[i] == 0 && imageData.data[i+1] == 0 && imageData.data[i+2] == 0 && imageData.data[i+3] == 0) hits++;
}
return (hits/$this.pixels) * 100;
},
我認爲這是你要找的東西:http://stackoverflow.com/a/366493/1438733 – Eric
不幸的是,它在控制檯中拋出和錯誤,並沒有幫助解決在Firefox中的問題 – user1873378