我正在尝试使用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上测试)。
什么不起作用?
是否有另一种方法可以打开在线白名单通配符?
答案 0 :(得分:4)
在Firefox 3.6.4中测试:
NETWORK:
http://*
答案 1 :(得分:1)
每the docs,当“在线白名单通配标记打开”时(即NETWORK:
*
格式),
子资源,例如样式表, 图像等只会被缓存 使用常规HTTP缓存 然而,语义学。
这似乎是“什么不起作用”。要以HTML5方式缓存子资源,清单必须在CACHE:
部分中列出它们,或者像在第一个版本中那样使用特定的“在线白名单命名空间”。
答案 2 :(得分:-1)
我希望在针对移动Safari的webapp中使用svg字体(移动safari只读取@ font-face的svg字体格式)移动safari还需要font-ID,它包含在文件的末尾名称,但包含在数字符号(#)之后:
字体name.svg#123456789
这不适用于网站的缓存清单,并且由于移动safari的反馈有限,我只是猜测#导致font-id被读作注释,而不是部分实际文件名。
有没有办法'欺骗'缓存清单以不同方式阅读?也许在SVG之后使用通配符?还是一个只有ascii的技巧?