2011-03-18 51 views
8

我有我的登錄頁面在iframe中,並希望從iframe中使用ajax和jquery重新加載父窗口而不刷新,但我得到像這樣的錯誤從內部框架中重新加載父窗口

 
(this[0].ownerDocument || this[0]).createDocumentFragment is not a function
請幫忙!

回答

33

我可以重新加載頁面使用JavaScript

parent.location.reload(); 

然後我開了扳機打開目標的iframe

$("#log-inout").trigger("click"); 

,我需要這樣的系統的特殊條件實現這一目標。這可能有助於其他人在類似的條件。

+5

僅當您從同一位置加載兩個窗口時,此功能纔有效。否則,瀏覽器拒絕重新加載,因爲它違反了「同源策略」。這同樣適用於Bert-Jan的parent.location.href答案。 – Pavel 2013-11-07 15:11:22

3

不要打擾!如果你使用ajax,爲什麼要使用iframe呢?

只是用

$(「要在這裏加載內容」)加載登錄負載(「你IFRAME SRC的這裏」)。

//load via ajax 
$("div").load("login.php"); 

更簡單,更優雅。

+0

我其實是想刷新用戶登錄後的內容(parentwindow),而IFRAME(登錄)仍然在 – 2011-03-18 12:00:02

+0

有趣的想法, 值得注意! – Andrew 2015-08-19 18:49:05

17
parent.location.href=parent.location.href 

給出比

parent.location.reload() 

後者力量完全重裝一個平滑的結果,而第一似乎幾乎像阿賈克斯更有效地更新。

+0

hhm ...謝謝! – 2013-05-08 07:52:41

+5

如果父域以這種方式與iframe域不同,就不能這樣做。 「協議,域和端口必須匹配。」 – 2014-10-14 04:43:07

0

您可以使用:

window.parent.location.href = "Create?Param=value"; 

或者:

window.parent.location.href = "http://www.stackoverflow.com"; 
相關問題