请考虑以下两个域:domain1.com和domain2。跨域哈希修改通讯
从domain1我打开一个指向domain2的iframe。
现在,我希望这些人互相沟通,我已经通过在两个域上应用哈希变化事件侦听器成功完成了这些工作。
这样,如果domain2使用新散列调用parent.location,父窗口(domain1)中的散列将触发。此外,如果来自父项的i将其src属性更改为新散列,则iframe中的散列更改事件将触发。
这很好用!
来了麻烦:
在浏览器中的前进和后退的功能得到弄糟。简单地说,通过创建两个散列实例,必须单击浏览器后退按钮两次以获取父散列,因为它必须先循环iframe的散列。
如何在不锁定历史记录对象的情况下与跨域iframe进行通信?
谢谢!
一个可能的(丑陋!)解决方案我来想想:我可以在domain1上追加一个指向domain2的脚本,如下所示:。这个JS文件将设置一个cookie,以便domain2上的另一个JS文件将侦听更改。当cookie发生变化时,有些事情已经发生了变化,您会采取相应的措对这种方法有什么想法? – John 2010-11-08 09:12:10
虽然这可能不起作用。每次都需要一个请求。 – John 2010-11-08 09:16:33