节点Webkit桌面应用程序 – 浏览器PDF文件的默认caching

我使用node webkit构build了一个桌面应用程序,并且需要caching在线时通过应用程序查看的PDF文件,以便它们也可以脱机使用。 我还没有find一个解决scheme,但在testing过程中,我注意到,我以前在网上查看过的文件可以脱机使用,即使我还没有为此编写任何代码。 因此这些必须已经被自动caching。 我做了一个search,find哪些文件正在被保存,但无法find任何东西。

任何人都可以解释这个或指向我在这方面的信息,以便我了解它是如何工作,并确保我的应用程序可以利用浏览器caching的默认行为?

非常感谢,

******** UPDATE ***********

我find了一个本地存储PDF的解决scheme,但这不是我的查询。 我正在寻找一个解释,以便如何离线时PDF没有这个代码我已经写了。 这些文件必须自动存储在别处,否则它们将如何显示?

node-webkit的默认caching行为由package.jsonpage-cache属性控制:

  "webkit": { "page-cache": true }, 

只有典型的networking资源可以这样caching(脚本,样式表等)。 为了能够离线查看PDF文件,可以手动存储。

有几种方法可以做到这一点:

  • 直接将文件保存到磁盘(简单的解决scheme,只需将文件存储在App.dataPath
  • 使用数据库
  • 使用Web存储
  • 使用应用程序caching

所有这些都logging在这里: 保存持久性数据在应用程序

在package.json清单文件中提到了默认的caching应用程序文件的位置。初始化应用程序时,清单文件中的设置将在默认情况下加载。由于无法以编程方式访问caching文件,因此可以手动覆盖默认文件。

要在Windows的用户目录中获取应用程序的数据path,可以在包中使用Jason格式编写它:

Windows:%LOCALAPPDATA%/

您可以阅读节点webkit文档中的其他caching节点: http ://docs.nwjs.io/en/latest/References/App/#appclearcache