2013-05-29 57 views
0

我正在製作使用框架集的應用程序。我面臨的問題是,每次刷新頁面時,主框架都會從框架中的當前網址重定向到index.php。重新加載框架可以做到這一點,但那不是一個很好的方便解決方案。從iframe更改父項的狀態

要解決此問題,我想使用html5瀏覽器狀態更改。更改父框架的url不是一個問題,但不會改變狀態。一個簡單的刷新會再次將整個東西重定向到索引頁面。我嘗試使用history.js將主框架的當前網址推送到歷史記錄中,以便每次刷新或返回任何內容時,它至少會保持在同一頁面上。

問題是我無法弄清楚如何改變從父子狀態的子框架。父網址和子網址都位於同一個域中。是否有可能通過history.js來做到這一點?如果是這樣如何?

在此先感謝。

+0

'frameset's不受HTML5支持,因此您不能使用任何HTML5功能。請也澄清你的問題,現在你有'frameset's和'iframe's,這是令人困惑的... – Teemu

+0

框架內容在html5中,它們支持歷史狀態完美無缺。我所說的應用程序有兩個框架。一個主框架和一個支撐框架。主要是因爲它是頁面呈現的位置。支撐架只有少數支撐特徵。 我想從子框架設置父狀態 – Enihr

+0

[W3C Obsolete features](http://www.w3.org/TR/html5/obsolete.html#non-conforming-features) – Teemu

回答

0

您可以通過內嵌框架內的父窗口的引用:

parentWindow = window.parent; 

從那裏,你可以調用在自己的iframe有這樣對你的父母直接影響任何功能:

parentWindow.location.reload(); 

UPDATE

在這種情況下,你要保留iFrame的狀態,那麼compleca測試一下。您需要將它發送(iFrame的狀態)給父節點,然後執行表單提交,將Iframe的狀態發送到服務器。然後服務器的響應應該加載處於正確狀態的iFrame。

+0

我更具體地試圖處理刷新並保持幀的狀態,以便它們不會被重定向到幀的第一個url。 – Enihr