請考慮以下兩個域: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