Javascript 在Electron应用程序的iframe中从外部站点加载本地图像

Javascript 在Electron应用程序的iframe中从外部站点加载本地图像,javascript,iframe,webview,electron,Javascript,Iframe,Webview,Electron,假设我有一个网站,我想在电子应用程序中使用iframe或webview将其转变为桌面应用程序。我们还假设这个网站上有很多图片,我想在Electron应用程序中缓存这些图片,这样他们只需下载这些图片一次 是否有办法从远程站点访问已加载到iframe/webview中的那些本地文件(捆绑在Electron应用程序中)?默认情况下,Electron缓存大多数http请求,请检查此项以了解其工作原理 有趣的事 希望它有帮助不幸的是,没有一种非常简单的方法来实现这一点。然而,我们设法获得了一个稍微有点黑客

假设我有一个网站,我想在电子应用程序中使用iframe或webview将其转变为桌面应用程序。我们还假设这个网站上有很多图片,我想在Electron应用程序中缓存这些图片,这样他们只需下载这些图片一次


是否有办法从远程站点访问已加载到iframe/webview中的那些本地文件(捆绑在Electron应用程序中)?

默认情况下,Electron缓存大多数http请求,请检查此项以了解其工作原理

有趣的事


希望它有帮助

不幸的是,没有一种非常简单的方法来实现这一点。然而,我们设法获得了一个稍微有点黑客的系统设置,似乎可以完成这项工作:

  • 将所有资产转换为base64数据URI,并以资产URL作为键保存在JSON文件中
  • 在iframe/webview内部,使用
    postMessage
    ipc
    从应用程序请求这些资产
  • 接收该请求并将JSON对象发送回webview/iframe
  • 加载资产时,检查URL是否在对象中,并使用base64数据URI;否则,按正常方式加载