2013-07-24 5 views
0

Я знаю, что эта проблема неоднократно задавалась на этом сайте, но кажется, что ответы, которые я нашел, не работают. Итак, в основном в родительском документе, у меня есть iframe, который ссылается на документ, называемый external.html в том же домене. В файле external.html имеется несколько переменных, определенных в теге скрипта в разделе главы. Я хочу сделать доступ к этим переменным в родительском документе. Ниже приведен код, который я использовал:Доступ к элементам iframe в родительском документе

$('#iframe-id').load(function(){ 
    var e = document.getElementById('iframe-id').contentWindow.e; 
}); 

Однако, он не работает надежно. Если после этого утверждения я предупреждаю (e), иногда он отображается неопределенным, но иногда он показывает правильное значение. Моя интерпретация заключается в том, что функция загрузки вызывается, когда скрипт в iframe еще не завершил выполнение. Другими словами, это зависит от времени выполнения двух сценариев (в родительском узле и в iframe). Добавление инструкции тайм-аута для меня не является вариантом. Есть ли надежный способ запускать даже при полном отображении iframe, включая часть HTML и скрипт, который модифицирует HTML-элементы?

ответ

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