需要用 canvas 获取图片的 blob 。如果图片是跨域的,且服务器没有允许跨域,会报 tainted data 的错误。
我想既然是 Chrome 扩展,可能有别的方法来获取跨域图片的数据。
看了下一些插件,Copyfish 使用 cors anywhere 做代理,还有 Project Naptha ,似乎是从缓存获取数据,但代码比较复杂没看明白
1
xulihang OP 研究了下可以通过给图片设置 crossorigin 属性允许跨域,不过需要服务器配置 header:
https://developer.mozilla.org/en-US/docs/web/html/cors_enabled_image |