我正在开发一个 facebook 画布应用程序,并希望使后退、前进和刷新浏览器按钮与我的 ajax 调用一起使用。有几个 jquery 插件支持此操作,例如 jquery.address 或 history.js。
对于 IE9 - 仍然是 HTML4 - 我不能使用历史 pushState 或 replaceState,因此需要依赖哈希标签。如果我完全拥有一个网站,这很有效,但如果我们遇到像 Facebook 这样的情况,其中 iFrame 与父级 (facebook.com) 位于不同的域中,我会迷路 - 由于相同的来源策略。
我可以使用散列更改设置 parent.location.href,但是当散列更改时,我无法在 iFrame 内接收事件。
在 iFrame 中设置散列在 IE9 中不起作用 - 单击浏览器后退按钮会忽略我在 iFrame 中所做的散列更改。
任何人都看到我做错了什么,或者在 IE9 中无法使用带有 Ajax 调用的 iFrame 内部的浏览器按钮?或者有没有办法从 iFrame 父级接收 hashchange 事件?
谢谢!