HTML5应用程序缓存 - SSL和跨域 - 任何解决方法?

时间:2012-07-20 08:38:23

标签: html5 ssl cross-domain cache-manifest html5-appcache

来自http://appcachefacts.info/

  

通过SSL,清单中的所有资源必须尊重同源   政策。   Google Chrome是一个例外,它不遵循这方面的规范。通过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:
/
*

1 个答案:

答案 0 :(得分:5)

很遗憾没有,很抱歉,根据http://en.wikipedia.org/wiki/Same_origin_policy目前唯一允许跨域缓存的浏览器是Chrome,这只是因为他们故意不遵守相同的原始政策。如果您想专门为Chrome用户创建脱机站点,您可以使用双服务器,否则您必须坚持使用一台服务器,直到不同的浏览器提出新策略。

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