我想实现一个Greasemonkey脚本,它扫描页面上的每个图像并根据图像内容进行一些操作。我将使用Canvas对象的getImageData
方法来获取图像内容。
当我使用FireFox测试我的用户脚本时,我收到“安全错误”异常,这意味着用户脚本无法访问原始页面的图像。
有没有解决方法? 用户脚本正在使用什么安全上下文?
感谢。
答案 0 :(得分:1)
这可能是由于same origin policy。如果您尝试操作来自托管网站的域以外的域中的图像,则会收到安全错误。
您可以解决此问题,方法是使用代理Web服务器通过base64编码的字符串为您提供图像数据。有一个jQuery插件available here默认情况下会使用Google来为您提供字符串,但它仅限于每天一定量的流量,因此开箱即用是不可靠的。您可以在自己的服务器上使用他们的代码(在页面底部链接)来绕过它(我已经取得了巨大的成功)。