如何让应用程序缓存清单在Safari 7.0.3上运行?

时间:2014-04-07 12:49:52

标签: html5 caching html5-appcache

我已经迷上了两天了,这让我发疯了。希望有人可以对这件事情发表一些看法。

我正在跑步: Mavericks(MAC),Safari Versie 7.0.3(9537.75.14)

我的index.php看起来像是:

<!DOCTYPE HTML>
<html manifest="manifest.php">
<head>
    <title></title>

    <meta charset="UTF-8" /> 
    <link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
    <p>The time is <time><?php echo time(); ?></time></p>
</body>
</html>

我的style.css看起来像是:

html, body
{
    margin      : 0;
    padding     : 0;
    font-size   : 100%;
    font-family : "Helvetica Neue", Helvetica, Verdana, Arial, sans-serif;
}

p
{
    text-align : center;
}

p time
{
    color : red;
}

我的manifest.php看起来像:

<?php header('Content- Type: text/cache-manifest'); ?>
CACHE MANIFEST
CACHE:
style.css

如果我跟踪时间输出,它会显示它有效,因为除非清单发生变化,否则时间不会更新。我在Chrome中加载了网址并且它可以正常工作,我在Mobile Safari上加载了网址并且它可以运行!我在小牛队的Safari中加载了URL,发生了一些古怪的事情。

时间未按预期更新。当我查看控制台时,我发现它有一个程序缓存。但是,当我从互联网断开连接重新加载页面时,一切似乎都很好。它确实重新加载页面而没有给出我离线的错误,但是没有加载任何像CSS这样的外部文件并且出现以下错误,包括清单本身:

无法加载资源:网络连接已脱机。

同样,Chrome和Mobile Safari使用相同的网址正常工作。我看不出我错过了什么。

1 个答案:

答案 0 :(得分:0)

尝试将清单文件扩展名更改为.appcache:

<html manifest="manifest.appcache">