2010-01-30 14 views

Antwort

72
window.opener.$("#serverMsg") 
+0

Funktioniert nur, wenn JQuery im Opener aktiv ist, denke ich. –

+1

ja, natürlich ... – roman

+0

perfekt, danke! –

16

Wenn Sie in einem po-up sind und Sie wollen, die öffnenden Fenster zuzugreifen window.opener verwenden. Am einfachsten wäre es, wenn Sie auch JQuery in dem übergeordneten Fenster laden können:

window.opener.$("#serverMsg").html // diese verwenden JQuery in dem übergeordneten Fenster

oder Sie plain old document.getElementById verwenden könnten das Element zu bekommen, und dann erweitern Verwenden Sie die jquery in Ihrem untergeordneten Fenster. Die folgende sollte Arbeit (ich habe es nicht getestet, obwohl):

element = window.opener.document.getElementById("serverMsg"); 
element = $(element); 

Wenn Sie in einem Iframe oder Frameset sind und wollen den übergeordneten Frame zuzugreifen, verwenden Sie window.parent statt window.opener.

Gemäß der gleichen Ursprungsrichtlinie funktioniert all dies mühelos nur, wenn sowohl das untergeordnete als auch das übergeordnete Fenster sich in derselben Domäne befinden.

7

oder Sie können einen anderen Ansatz verwenden:

$("#serverMsg", window.opener.document) 
+0

Ich bevorzuge diesen Ansatz, weil es nicht auf das Eröffnungsfenster mit jQuery angewiesen ist - obwohl es wahrscheinlich sowieso jQuery haben wird. –

0

Hier ist eine wörtliche Antwort (übergeordnete Fenster als Dosenöffner gegen) auf die ursprüngliche Frage, die in einem Iframe verwendet werden kann, die Domain unter der Annahme, Der Name im iframe stimmt mit dem des übergeordneten Fensters überein:

Verwandte Themen