Согласно предыдущему ответу , браузеры могут не ждать загрузки фреймов, прежде чем запускать событие onload в родительском окне. Вы не можете делать предположения о том, какой из них закончится первым - есть вероятность того, что там произойдет состояние гонки, поэтому любой из них может финишировать первым.
Одним из решений может быть написание функции, ожидающей, пока она не будет вызвана определенное количество раз, перед выполнением:
var runs = 0;
function onLoad() {
if (++runs < 2) return;
// put code to execute once both have loaded
}
Тогда в HTML:
<body onload="onLoad();">
.....
<iframe onload="onLoad();">
Либо укажите URL-адрес iframe в обработчике загрузки родительского окна.