0

我正在开发一个 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 事件?

谢谢!

4

1 回答 1

0

我建议捕获退格按钮,大多数人使用它返回并为 IE 用户制作只有特殊的后退按钮,类似于 ie9 的那些,所以他们的直觉是使用这些。

<!--[if lte IE 9]>
   html code for IE users, explaining why they are ignorant... giving them a back button, catching the backspace key and using that....
<![endif]-->
于 2013-03-07T08:35:42.813 回答