【问题标题】:Html5 application cacheHtml5 应用程序缓存
【发布时间】:2012-04-24 13:10:12
【问题描述】:

我尝试使用 Html5 应用程序缓存在离线模式下运行我的应用程序。 为此,我创建了 test.html 文件和 demo.appcache

在这个 html 页面中,我使用了来自本地主机的一些图像。当我的本地主机运行时,它工作正常。但是,如果我试图停止本地主机,图像不会从我的应用缓存中获取。输出只是显示为空白页。

这是我的 sampletest.html

<!DOCTYPE html>

<html manifest="demo.appcache">

<head>
</head>

<body>
Further modified........Test Again
<img src="http://172.17.0.238/SampleImages/two.jpg" width="225" height="151" alt="Milford Sound in New Zealand" />

</body></html>

demo.appcache

CACHE MANIFEST
CACHE:
sampletest.html
NETWORK:

回退:

我的代码有什么问题吗?在缓存下:我加载了我的 html 文件。但是,当本地主机不可用时,它不会从应用缓存中加载 html。

任何帮助... 问候, 洛克什。

【问题讨论】:

    标签: html html5-appcache


    【解决方案1】:

    您必须在清单中包含页面所需的所有资源:图像、外部 javascript 和 css 等等。

    【讨论】:

    • 我已经在 CACHE 下的 demo.appcache 中包含了 css、js 文件,但是没有用,输出还是一样的。为此,我只是在本地单独加载了我的 html。但它不起作用..
    • 如果主机可用,我的 sampletest.html 将从本地主机加载图像,并将该文件存储在本地。当主机离线时,它将从应用缓存中获取 html 文件。这是我的代码所期望的。我的代码是否正确或任何更改..?需要澄清..
    • 你是否在缓存中包含了图片,正如我所说的那样?
    【解决方案2】:

    我也有类似的问题。就我而言,我在 Android 设备中使用 WevView。在那里只需要 9 分钟来注册主机不可访问 - 然后它从 appcache 加载。我不知道其他代理是否有这样的行为,但值得一试;)


    无论如何:如果 CACHE 部分是第一个条目,则不必声明它:

       CACHE MANIFEST
       sampletest.html
       NETWORK:
    

    仅当您想在使用 NETWORK 或 FALLBACK 后添加更多要缓存的内容时:

       CACHE MANIFEST
       sampletest.html
    
       NETWORK:
       *
    
       FALLBACK:
       online.html offline.html
    
       CACHE:
       additionalContent.html
    

    但是请不要问我为什么他们认为这是可能的;)

    【讨论】:

      【解决方案3】:

      您面临的问题主要是由于根据情况不同的错误代码。 如果您的计算机无法访问 Internet,它不会尝试访问服务器并会尝试从应用缓存加载。

      问题是当您的计算机可以访问 Internet,而您关闭服务器时,错误会有所不同(它可能会返回 4xx 或 5xx 或同等值)。是服务器问题,不是用户问题,所以会加载缓存失败。

      否则,如果获取清单以其他方式失败(例如,服务器返回另一个 4xx 或 5xx 响应或等效响应,或者 DNS 错误,或者连接超时,或者用户取消下载,或者解析器检查魔术签名时 for manifests 失败),或者如果服务器返回重定向,或者如果资源标记为不是 text/cache-manifest 的 MIME 类型,则运行缓存失败步骤。

      这在此处记录: http://www.w3.org/TR/2011/WD-html5-20110525/offline.html#downloading-or-updating-an-application-cache

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-17
        • 2014-05-22
        • 2013-03-27
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 2014-12-11
        • 1970-01-01
        相关资源
        最近更新 更多