2010-04-24 78 views
4

我正在尝试使用html 5缓存进行简单测试。html5缓存 - >“网络:*”不起作用

下面是一个简单的网页:

<!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 /狩猎移动/火狐测试)。

什么不起作用?

是否有另一种方法来打开在线白名单通配符标志?使用

回答

1

the docs,当“在线白名单通配符标志是开”(即NETWORK:*格式),

子资源,如样式表, 图像等,只会被缓存 但是,常规HTTP缓存 语义。

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

4

测试在Firefox 3.6.4:

NETWORK: 
http://* 
-1

祝旨在为移动Safari浏览器web应用程序来使用SVG字体(移动Safari浏览器只读取@字体面的SVG字体格式)移动Safari浏览器也需要的字体ID,它是包含在文件名的末尾,而数字符号(#)之后包括:

字体name.svg#123456789

这不是在工作缓存清单对于该网站而言,从移动Safari浏览器获得的有限反馈,我只是在猜测在#导致font-id被读为注释,而不是实际文件名的一部分。

有没有一种方法可以将缓存清单“欺骗”为不同的阅读方式?也许在SVG之后有一个通配符?或者一个ascii专用的技巧?