我正在开发一个Facebook画布应用程序,并希望使用我的ajax调用使后退,前进和刷新浏览器按钮起作用。有几个jquery插件支持这个动作,比如jquery.address或history.js。
对于IE9 - 仍然是HTML4 - 我不能使用历史pushState或replaceState,因此需要依赖哈希标记。如果我完全拥有一个网站,这种情况很有效,但是如果我们遇到类似Facebook的情况,那么iFrame与父母(facebook.com)在不同的域上,我会丢失 - 由于相同的原始政策。
我能够使用散列更改设置parent.location.href,但是当散列更改时,我无法在iFrame中接收事件。
在IE9中设置哈希在IE9中不起作用 - 单击浏览器后退按钮会忽略我在iFrame中进行的哈希更改。
任何人都可以看到我做错了或者在IE9里面是不可能使用Ajax调用的iFrame内部的浏览器按钮?或者有没有办法从iFrame父级接收hashchange事件?
谢谢!
答案 0 :(得分: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]-->