【问题标题】:Use javascript to read contents of cache manifest使用 javascript 读取缓存清单的内容
【发布时间】:2013-12-20 15:07:57
【问题描述】:

对于可以脱机运行的 Web 应用程序,我有一个缓存清单文件,其中包含一条注释以指示上次更新的时间:

# version: 20131220-1006

我希望能够阅读此版本注释行,以便显示版本号。有没有办法直接通过 JavaScript 得到这个?

(一种解决方法是创建一个服务器端脚本,该脚本将从存储在服务器上的缓存清单文件中读取版本号,并将该信息作为单独的操作返回,但这看起来像是大锤+坚果)。

【问题讨论】:

  • Javascript 不能做文件 i/o。除非我误解了,并且您将数据存储在本地存储中。
  • 我了解,在某些浏览器上,JavaScript can do file i/o.
  • 文件 API 处理客户端系统上的文件,缓存清单驻留在服务器上。如果您想向客户端公开服务器数据,出于安全原因,您必须创建一个服务。
  • @ChrisHardie:我知道缓存清单文件已下载到客户端,并且其内容可供浏览器使用。您能否帮助我理解为什么让浏览器中运行的 JavaScript 可以访问其内容会违反安全性?

标签: javascript file cache-manifest


【解决方案1】:

您无法直接从 javascript 中读取此版本号,但您实际上可以读取缓存清单文件的内容。使用 ajax 请求(jQuery 版本)加载它:

    $.get("cache.manifest", function(responseText){
        console.log(responseText);
    })
    .fail(function() {
        console.log( "Offline?" );
    });

您可以从responseText 字符串中获取版本并将其保存在本地存储中。在离线模式下,假设它没有改变,您可以从存储中读取值。

【讨论】:

    猜你喜欢
    • 2013-06-14
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2012-12-22
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多