"window.frames [0] .variable" не работает в jquery $ (function () {})? - PullRequest
0 голосов
/ 04 декабря 2010

В parent.html Я устанавливаю iframe с child.html в нем.

в дочернем кадре, я пишу js:

$(function () { 
    var child = 6;
})

в родительском кадре, я пишу js:

$(function () {
    alert(window.frames[0].child);
});

но результат оповещения не определен?

Как правильно указать в кавычках переменную другого фрейма с помощью jquery?

1 Ответ

0 голосов
/ 04 декабря 2010

Вы видите undefined, потому что вы разделяете его как локальную переменную (ограниченную только этим обработчиком document.ready), вам понадобится это в дочернем фрейме для глобального:

$(function () { 
    window.child = 6;
});

Кроме того, нет никакой гарантии, что document.ready в родительском фрейме не выполнит до дочернего фрейма (вставьте alert() в каждом, чтобы увидеть порядок) ... фактически это должно быть наоборот. Если вы не используете его сразу, это не проблема ... если вам нужно выполнить его позже.

...