提供本地文件:///链接和AppCache

时间:2015-07-29 05:11:47

标签: html local-storage offline auto-update html5-appcache

我正在为我的探洞俱乐部成员制作一个网络应用程序来搜索和查看洞穴调查说明PDF。它工作正常,我让AppCache为它的Web版本工作。

但是,由于PDF很大且下载速度很慢,并且许多成员在本地计算机上使用来自同一SVN的本地机器上的PDF,因此最好能够使用链接到他们选择的本地SVN文件夹。

设计目标:

  1. 该网站显示指向本地文件系统上的PDF文件的链接
  2. 每当我向网站添加功能时,用户都会在下次打开网页并自动连接到互联网时自动获取这些功能
  3. 但是在他们第一次打开页面后,该网站将脱机工作。
  4. 可悲的是,网页浏览器似乎并不支持这种有用的设计目标组合。

    我可以通过让用户下载网站副本,在JS中添加他们的本地SVN路径,并在浏览器中打开他们的本地副本来满足#1,以便file:///链接起作用。

    我可以通过在服务器上拥有JS bundle的绝对链接来满足#2。

    我可以使用AppCache来满足#3。

    我认为我可以通过让本地文件系统上的页面副本<html manifest="https://myserver.com/myapp.appcache">变得聪明,但遗憾的是Chrome似乎不允许本地文件使用服务器上托管的应用缓存清单,因为看似没有理由给我。

    有谁知道我能够满足所有3个目标的另一种方式?

    也许有一些简单的程序/配置我可以将我的朋友拦截到https://myserver.com/some/folder的网页请求,而是从他们本地文件系统的文件夹中提供它们?

1 个答案:

答案 0 :(得分:0)

安迪,

我知道这篇文章有点陈旧但却发现它正在寻找与AppCache相关的其他内容。我理解html页面和清单必须位于同一个域中才能工作。所以我认为你需要修改你的设计:

  1. 创建一个JavaScript函数,作为用户输入PDF本地副本路径的设置。将此信息存储在localstorage中。
  2. 为文档链接创建html模板页面。
  3. 创建一个JavaScript函数,该函数使用用户输入的任何文档和链接填充html模板页面。
  4. 这样,用户可以在线访问您的应用程序,并使用appcache存储自身和JS文件以供离线使用。要访问PDF,用户单击设置按钮,该按钮启动页面以收集路径信息并将信息保存在localstorage中。然后,用户可以访问模板页面,该模板页面将填充他们输入的文档。

    以下是本地存储的一个很好的介绍:[http://www.smashingmagazine.com/2010/10/local-storage-and-how-to-use-it/]