我使用history.js并试图从一个HTTP站点推的状态变化,如:History.js和同源策略穿越到SSL
http://www.example.com/some/resource
...我的安全网站(支付页面),如:
https://www.example.com/payment/for/some/resource
...但我在Safari中得到这个错误:
SECURITY_ERR:DOM异常18:试图通过 打破用户代理的安全策略。
...试图把状态改变时一样:
History.pushState(null, null, new_state_url);
// new_state_url = https://www.example.com/payment/for/some/resource
做一些周围挖掘,我发现this SO question,这表明我触犯Same Origin Policy的运行,因为我试图推动跨协议的状态改变。那里建议的答案(如果我理解正确的话)是明确推送完整的URL,但我已经这样做,并得到相同的错误。
在上下文中,我建立我的网站的移动版本,并愿支付页面加载使用我所有我的其他页面加载左右(我已经建立了我的网页加载器内置相同的AJAX jQuery的$.ajax
和一些自定义动画,与您在jQuery Mobile中可能找到的大致相似)。
是否有可能对我来说,推动跨越SSL这种状态变化?如果是这样,我该怎么做?