Кадры работают в том же потоке, что и их владелец.Это можно проверить, выполнив дочерний фрейм с длинным циклом, в то время как у родителя есть некоторый код, выполняемый на коротком таймере - вы заметите, что таймер родителя должен дождаться окончания цикла, прежде чем он сможет выполнить обратный вызов.
Это означает, что дочерний фрейм и его родитель не могут выполнять сценарии одновременно.Ваша проверка не выполняется, пока не завершится выполнение JavaScript в дочернем фрейме.