2010-04-24 120 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專用的技巧?