我正在学习HTML和JavaScript,并通过在Google云端硬盘上托管HTML和图片文件来实践。我正在向画布绘制一个色轮,并使用getImageData
从鼠标所在的任何像素中获取RGB值。图像和JavaScript位于同一个文件夹中,最初我每次预览HTML文件时都成功使用getImageData
,但现在它只能运行。我没有改变任何东西,但我注意到,当它不起作用时,HTML文件的URL中有一系列奇怪的字母和数字(https://f#fff##FF#F#fff#.googledrive.com/host/folder/example.html
而不是https://google.drive.com/host/folder/example.html
)。< / p>
我也从控制台收到以下错误:
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
我想我理解了受污染的画布的概念,但我认为如果图像和.js位于同一个Google驱动器文件夹中,我可以使用getImageData
,并且此方法最初有效。我很困惑为什么这不再起作用以及为什么HTML网址已经改变,我想知道是否有办法让它工作,同时仍然托管谷歌驱动器上的一切。我正在使用Google Chrome和Firefox。