4

我正在尝试使用 html 5 缓存进行简单测试。

这是一个简单的网页:

<!DOCTYPE html>
<html manifest="test.manifest">
<head>

</head>
<body>
   <img src="http://www.somewebsite.com/picture.jpg"/>
</body>
</html>

使用以下清单:

CACHE MANIFEST
#v0.1

NETWORK:
http://www.somewebsite.com/

这工作正常,图片显示。

我的问题是我无法知道图片来自哪里。在线白名单通配符标志来了,应该可以解决我的问题。

但是使用清单:

CACHE MANIFEST
#v0.1

NETWORK:
*

不显示图像(在 safari / safari mobile / firefox 上测试)。

什么不工作?

还有其他方法可以打开在线白名单通配符标志吗?

4

3 回答 3

4

Tested in Firefox 3.6.4:

NETWORK:
http://*
于 2010-05-31T12:58:12.100 回答
1

根据文档,当“在线白名单通配符标志打开”(即NETWORK: *格式)时,

但是,子资源(例如样式表、图像等)只能使用常规 HTTP 缓存语义进行缓存。

这似乎是“什么不起作用”。要以 HTML5 方式缓存子资源,清单必须在一个CACHE:部分中列出它们,或者像在第一个版本中那样使用特定的“在线白名单命名空间”。

于 2010-04-24T15:50:48.823 回答
-1

我希望在针对移动 safari 的 web 应用程序中使用 svg 字体(移动 safari 仅读取 @font-face 的 svg 字体格式)移动 safari 还需要字体 ID,它包含在文件名的末尾,但是包括在数字符号 (#) 之后:

字体名称.svg#123456789

这在站点的缓存清单中不起作用,并且由于从移动 safari 获得的反馈有限,我只是猜测 # 导致字体 ID 被读取为评论,而不是实际的一部分文件名。

有没有办法“欺骗”缓存清单以不同方式读取?也许在 SVG 之后使用通配符?还是只有 ascii 的把戏?

于 2010-08-10T20:21:38.763 回答