2012-03-19 4 views
4

Как получить доступ к глобальному объекту или массиву, определенному в родительском окне дочернего окна.Доступ к родительскому объекту в JavaScript из iFrame/Window

<script> 
    var events_data; 
    function function_to_fill_events_data() { 
     . 
     . 
     . 
    } 
</script> 

<div> 
    <div><iframe src="mini.php" width:100%; height: 100%;" scrolling="no"></iframe> </div> 
</div> 

Когда я нахожусь в мини-документе я хотел бы быть в состоянии получить доступ к events_data переменного в яваскрипте функции.

ответ

8

Вариант 1

Ваше название упоминается дочернее окно. Если у вас есть окно ребенка, а не IFRAME, используйте:

window.opener.events_data 

Отъезд window.opener on MDN.

Вариант 2

Ваш код указывает на то, что вы используете IFRAME. Из фрейма, просто использовать parent:

parent.events_data; 

Отъезд window.parent on MDN.


window.opener - Возвращает ссылку на окно, которое открыло это текущее окно.

window.parent - Когда окно загружается в or, его родительское является окном с элементом, вложением окна.

+0

Это замечательно. Был ли вариант 2, и он работает. – user823527

+0

А как насчет разрешения deniel? Если браузер не разрешает доступ к родительским свойствам из iframe? –

+0

Если я не ошибаюсь, это происходит, когда содержимое iframe загружается из другого домена –

Смежные вопросы