2010-05-21 69 views
6

我想创建一个离线HTML5测试应用程序,并且正在同时玩新的谷歌字体API。有没有人有任何想法如何缓存远程字体?简单地把api调用放在缓存清单中是行不通的,我认为这是因为api实际上加载了其他文件(ttf,eot等)。HTML5脱机缓存谷歌字体API

任何想法,如果使用脱机字体api将是可能的?

供参考,这是我正在电话:

http://fonts.googleapis.com/css?family=IM+Fell+English|Molengo|Reenie+Beanie 

回答

5

如果粘贴网址到浏览器地址栏,你会看到这些文件的CSS链接:

http://themes.googleusercontent.com/font?kit=txVk61PTIsDrQQj2fK-76Q 
http://themes.googleusercontent.com/font?kit=ljpKc6CdXusL1cnGUSamX_cCQibwlboQP4eCflnqtq0 
http://themes.googleusercontent.com/font?kit=xwIisCqGFi8pff-oa9uSVOj-KzHqS7w8OFmqoAXdQwE 
+3

但你必须小心。谷歌根据您要求的操作系统给你不同的字体文件。所以,你应该添加所有操作系统的所有字体文件 – 2013-04-16 09:23:39

+1

确实。一种缓存所有文件扩展名的方法在这个stackoverflow问题中描述:http://stackoverflow.com/questions/7042834/is-it-possible-to-load-webfonts-through-the-offline-storage-cache-manifest – 2013-09-06 08:50:50

6

Robertc的方法是解决方案...

即,将谷歌提供的链接粘贴到您的浏览器中,然后添加任何引用到您的清单中的文件。

在我来说,我引用

<link href='http://fonts.googleapis.com/css?family=Patua+One' rel='stylesheet' type='text/css'> 

刚刚由下面的样式定义

@font-face { 
    font-family: 'Patua One'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Patua One'), local('PatuaOne-Regular'), url('http://themes.googleusercontent.com/static/fonts/patuaone/v3/yAXhog6uK3bd3OwBILv_SD8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); 
} 

所以可以获得字体的工作缓存(离线或没有)时,你有将'src'中引用的URL添加到清单中。