我使用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這種狀態變化?如果是這樣,我該怎麼做?