Safari的HTML5 appcache导致跨站点css无法加载

时间:2011-06-17 04:38:03

标签: css html5 safari manifest

我的一个网页被更改为使用HTML5 appcache功能时遇到了问题。当页面上启用了appcache时,Safari会阻止我的跨站点css文件。页面http://www.ericperrets.info/从我的服务器加载了许多图像/ css文件,并从google网址/服务器加载了许多css文件。以下是epi.appcache文件内容

CACHE MANIFEST
#v2

CACHE:
default.css
/images/bg.gif
/images/bg2.gif
/images/external.png
/images/logo.gif
/images/mail_48.png
/images/meme.jpg
/images/pdficon.gif
/images/telephone_32.png
/favicon.ico
/js/dojo/dojo/dojo.js

NETWORK:
Resume%20-%20Eric%20Perret.pdf
index.html

这可以在firefox中加载页面时找到,但是当我尝试在Safari中加载它时,会阻止对http://fonts.googleapis.com/css?family=Reenie+Beanie&v1的调用,并且http://fonts.googleapis.com/css?family=Candal&v1被阻止了

  

无法显示网址

不确定为什么会这样。

1 个答案:

答案 0 :(得分:15)

浏览器使用定义的应用程序来指定您网站上与浏览器访问的特定页面相关的文件。将appcache想象为白名单,它列出了可以访问的所有文件以及如何访问它们。

因此,根据我的经验,根据我的经验,遵循AppCache标准比使用不同于AppCache的Web地址请求更加严格的Safari,它不允许访问。

要解决此问题,您可以将资源添加到缓存部分或网络部分。我认为更好的选择是在网络部分使用通配符“*”路径,以确保不阻止请求。

NETWORK:
*
http://*
https://*