Google chrome extension chrome扩展如何访问页面中的图像?

Google chrome extension chrome扩展如何访问页面中的图像?,google-chrome-extension,Google Chrome Extension,我有一个chrome扩展,在某些页面上运行注入脚本 我想在用户登陆页面时从页面抓取图像,然后将图像推送到远程存储,而不必再往返到页面的图像主机 这可能吗 我假设浏览器将图像临时存储在缓存中,但文档中不清楚如何访问这些图像 埃塔:谢谢,我熟悉b64编码图像使用画布。不幸的是,我发现的每个代码片段都依赖浏览器来确定img是来自缓存还是来自服务器,这不是我的目标。请尝试添加到清单中。对于给定的示例代码: { ... "web_accessible_resources": [

我有一个chrome扩展,在某些页面上运行注入脚本

我想在用户登陆页面时从页面抓取图像,然后将图像推送到远程存储,而不必再往返到页面的图像主机

这可能吗

我假设浏览器将图像临时存储在缓存中,但文档中不清楚如何访问这些图像

埃塔:谢谢,我熟悉b64编码图像使用画布。不幸的是,我发现的每个代码片段都依赖浏览器来确定img是来自缓存还是来自服务器,这不是我的目标。

请尝试添加到清单中。对于给定的示例代码:

{
  ...
  "web_accessible_resources": [
    "images/*.png",
    "style/double-rainbow.css",
    "script/double-rainbow.js",
    "script/main.js",
    "templates/*"
  ],
  ...
}
此外,如给定文件中所述:

从web源到扩展资源的导航将被阻止,除非该资源被列为web可访问。请注意以下情况:

  • 当扩展使用或API将公共资源请求重定向到不可通过web访问的资源时,此类请求也会被阻止
  • 即使重定向扩展拥有不可通过web访问的资源,上述情况仍然成立

希望有帮助

是的,复制我感谢您在管理复制方面的努力,但是您链接的答案解释了如何具体执行我试图避免的操作,即从服务器抓取图像。充其量,我希望浏览器会将我的图像请求路由到缓存,但不清楚我是否有任何方法来控制。目前,chrome中没有用于访问缓存文件的api。在我看来,我链接的内容是你想要的-从元素@DanielHerr访问图像数据,而无需重新下载,答案作者对您共享链接的第五条评论:“是的,您可以使用XMLHttpRequest下载映像。它可能会使用映像的缓存版本,但这取决于服务器和浏览器配置,并且您将有请求开销来确定文件是否已更改。这就是为什么我一开始没有建议:-)不幸的是,据我所知,这是获取原始文件的唯一方法。“如果我误解了你的坚持,认为这是一个重复问题,请说明——否则,你就错了。看起来这只允许
内容脚本
访问扩展资产。这是正确的解释吗?我的目标是相反的——从扩展中访问浏览器缓存资产。此API能够做到这一点?我唯一能想到的是,如果扩展阻止了对
target.example.com/images/*
的所有调用,然后将这些图像拉入浏览器存储,并将所有标记重定向到存储。但我对这些API中的大多数都不熟悉,所以这可能会有很大的偏差。