1

来自http://appcachefacts.info/

通过 SSL,清单中的所有资源都必须遵守同源策略。谷歌浏览器是个例外,它在这方面没有遵循规范。通过 SSL,Chrome 将加载来自不同来源的资源,只要它们仍然通过 SSL 提供服务。

我真的很想从靠近用户的 CDN 加载图像、css 和 javascripts 等静态资产,并避免仅仅因为我使用 HTTPS 而从我的网络服务器提供它们

有什么办法可以解决这些安全限制?

我的目标:

主要 html 加载自:https ://mydomain.com 。

资产加载自:https ://cdn.mydomain.com (子域但来源不同..)

我目前使用的 Appcache 文件,但似乎不适用于 safari 和 iOS iphone:

CACHE MANIFEST


CACHE:
https://cdn.mydomain.com/main.css
https://cdn.mydomain.com/main.zepto.js

NETWORK:
/
*
4

1 回答 1

5

不幸的是,不,抱歉,根据http://en.wikipedia.org/wiki/Same_origin_policy,目前唯一允许跨域缓存的浏览器是 Chrome,这只是因为它们故意不遵守同源策略。如果你想让你的离线站点专门为 chrome 用户提供,你可以做双服务器,否则你必须坚持使用一个,直到不同的浏览器提出新的策略。

如果你想变得棘手,你可以尝试在你的资产服务器上运行一个 jQuery 到一个 html 文件,在那里加载清单,但我怀疑这在离线使用期间会起作用。

于 2012-07-31T10:54:02.067 回答