我有一个page,它使用HTML Canvas和一些JavaScript从图像中提取颜色。我确保图像是直接从服务器中提取的,而不是从CDN中提取的。
我还将服务器标头设置为Access-Control-Allow-Origin:*
。这一直有效,直到我启用Google的PageSpeed服务。触发脚本(单击其中一个图标)现在会产生可怕的Unable to get image data from canvas because the canvas has been tainted by cross-origin data.
错误(但在bypassing PageSpeed时可以正常工作)。
我已禁用在pagespeed控制面板中托管的任何图像,这些图像最初似乎有效,但是今天早上我再次看到错误。
我还确保操作画布的.js文件被排除在PageSpeed优化之外。我知道我可以简单地禁用该URL的pagespeed,但这似乎相当沉重(特别是如此,鉴于基本URL下面的页面需要优化,但我无法看到在包含URL时排除一个URL它的子目录在pagespeed中。
如何准确找出触发错误的内容?换句话说,Chrome认为跨源数据来自哪里?