Как получить доступ к родительскому объекту окна с помощью jquery?
Как получить доступ к объекту родительского окна, используя jquery?
Это моя переменная родительского окна, я хочу установить ее значение после закрытия дочернего окна.
$('#serverMsg').html('some text here');
4 ответа
Если вы находитесь в всплывающем окне и хотите открыть открывающееся окно, используйте window.opener
, Проще всего было бы, если бы вы могли также загрузить JQuery в родительское окно:
window.opener.$("#serverMsg").html
// это использует JQuery в родительском окне
или вы могли бы использовать старый добрый document.getElementById
чтобы получить элемент, а затем расширить его с помощью jquery в вашем дочернем окне. Следующее должно работать (я не проверял это, хотя):
element = window.opener.document.getElementById("serverMsg");
element = $(element);
Если вы находитесь в iframe или frameset и хотите получить доступ к родительскому фрейму, используйте window.parent
вместо window.opener
,
Согласно той же политике происхождения, все это работает без особых усилий, только если дочернее и родительское окна находятся в одном домене.
Или вы можете использовать другой подход:
$( "#serverMsg", window.opener.document )
Вот более буквальный ответ (родительское окно в противоположность открывателю) на исходный вопрос, который можно использовать в iframe, предполагая, что доменное имя в iframe совпадает с именем родительского окна:
window.parent.$("#serverMsg")