2009-04-16 96 views
1

我正在使用iframe來集成我們客戶的兩個應用程序。即使頂層窗口刷新,我也希望iframe的位置保持不變。如何在頂部頁面重新加載時保持iframe位置

例子:在他的瀏覽器

  • 用戶負載http://myserver/main.page?target= 「sub.page」
  • 我的JavaScript代碼設置iframe的來源爲 「sub.page」
  • 用戶點擊中的鏈接iframe和iframe的源代碼變成「othersub.page」
  • 用戶單擊鏈接到http://myserver/main.page
  • 以外的頂級窗口內的鏈接
  • 的Javascript莫名其妙自動更新iframe的源回到「othersub.page」

我可以鍛鍊我需要iframe的更新動作和周圍傳遞變量的所有邏輯。我的問題是如何跟蹤iframe的src值。

我需要一種方法來檢測iframe的src是否發生了變化。我能想到的唯一事情就是「投票」價值。我很想知道是否有人有更好的主意。

回答

1

您還可以爲此框架添加一個「加載」事件處理程序。每次發生此事件時,都會將帶框文檔的位置存儲在cookie中。

IIRC,當iframe的內容發生變化時,SRC屬性不會改變。國際海事組織,你必須閱讀文件的位置。

+0

沒錯。這是有道理的。我的一個子應用程序託管在不同的服務器上。跨站點腳本限制會阻止我閱讀iframe的文檔對象嗎?謝謝 – 2009-04-16 17:49:35

0

load事件會告訴你什麼時候在iframe中加載一個新頁面,但正如你所說,你沒有權限讀取src屬性。

如果iframe的內容可以加載另一個iframe,該iframe從與根頁面相同的域加載一個頁面,那麼這個內部頁面可以在根頁面上調用javascript(因爲它們在同一個域中)就像你想要的src字符串一樣。 Example

相關問題