繁体   English   中英

我的 appcache 清单测试有什么问题?

[英]What's wrong with my appcache manifest test?

我正在尝试测试Appcache清单:

<?php

// reference: http://diveintohtml5.info/offline.html

header( "Content-Type: text/cache-manifest" );
header( "Cache-Control: max-age=0, private, must-revalidate" );

?>CACHE MANIFEST

# todo

/cachetest/tryme/vid/missouristate

现在这似乎在网络检查器中有正确的标题,并链接到 html 文件的顶部:

<!DOCTYPE html>
<html manifest="/cachetest/cache.manifest/index.php" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

但是,零证据表明这确实有效。 如果它工作,它应该不显示任何其他物品,除非它有一个网络*在该文件中设置,如描述在这里

最后,让我们检查一下网络部分。 这个缓存清单中的网络部分也只有一行,一行只包含一个字符 (*)。 该字符在网络部分具有特殊含义。 它被称为“在线白名单通配符标志”。 这是一种奇特的说法,只要您有互联网连接,任何不在 appcache 中的内容仍然可以从原始网址下载。 这对于“开放式”离线 Web 应用程序很重要。 这意味着,当您在线浏览这个假设的支持离线的 Wikipedia 时,您的浏览器将正常获取图像、视频和其他嵌入资源,即使它们位于不同的域中。 (这在大型网站中很常见,即使它们不是离线 Web 应用程序的一部分。HTML 页面是在本地生成和提供的,而图像和视频是从另一个域的 CDN 提供的。)如果没有这个通配符标志,我们的假设当您在线时,启用离线功能的 Wikipedia 会表现得很奇怪——特别是,它不会加载任何外部托管的图像或视频!

这看起来像离线工作的类似网络应用程序,但我想知道是否必须在 localhost 或 local-ip 上设置 https 才能让浏览器甚至识别它。

我记得最近看到一些关于 Appcache 现在需要 https 的内容,因为 Serviceworker 也需要 https。 这是我必须在测试环境中设置的东西才能在最新的浏览器中工作吗? 我可以更改 about:config 以在普通 http 上使用吗? 还是我错过了其他东西?

检查以下步骤以了解为什么您的代码不起作用,然后您的代码可能会起作用。

  • 您正在使用php文件,但清单文件的推荐文件扩展名是:“.appcache”
  • 如果您使用.appcache则不需要设置标题,浏览器将获取.appcache扩展名的text/cache-manifest标题。
  • 在 manifest 中,第一行CACHE MANIFEST是必需的。 所以首先删除php代码。
  • CACHE MANIFEST部分只能获取 JS、CSS、图像等资源。我认为您输入的页面名称不正确。

在检查完上述步骤后,清单可能会如下准备就绪。

名称将是: index.appcache

CACHE MANIFEST
# todo
/cachetest/images/1.jpg
/cachetest/css/style.css

NETWORK:
/login.php

FALLBACK:
/html/ /cachetest/offline.html
<!DOCTYPE html>
<html manifest="/cachetest/cache.manifest/index.appcache" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

例如,给出了文件列表的名称。

你没有做错任何事。

Appcache 在 Firefox 中不起作用。 (至少对于我在 Firefox 42.0 中)

但它确实在 Chrome 中工作(我在 46.0.2490.86(最新)上试过)。

部分测试页面:
http://appcache-demo.s3-website-us-east-1.amazonaws.com/without-network/

http://appcache-demo.s3-website-us-east-1.amazonaws.com/with-network/

http://appcache-demo.s3-website-us-east-1.amazonaws.com/offline-iframe/

当然,您可以制作自己的空缓存清单文件并亲自查看。

祝你好运

测试页面来源: http : //alistapart.com/article/application-cache-is-a-douchebag

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM