после того, как вы запустите test.method при загрузке страницы, вы перезаписываете свой window.onload новым значением: this.dosomework, поэтому в течение времени загрузки тела вы вызываете первую функцию, затем перезаписываете сразу вторая функция вступает во владение и выполняет ... Вы пытались продвинуть оператор window.onload до самого конца test.method? я предполагаю, что если функциональный блок слишком длинный, второй window.onload никогда не будет выполнен, потому что окно уже завершило загрузку, его миллисекунды, но это все, что требуется
очевидно, в firefox функция выполняется до того, как она будет перезаписана, или, возможно, добавлена к текущей нагрузке, не будучи уверенной в технических деталях. еще раз попробуйте нажать на нагрузку на дно и посмотреть что получится
вы не должны вызывать функцию onload в любой другой функции, которая вызывается после загрузки тела, потому что, независимо от того, насколько вы осторожны, вы не можете зависеть от того факта, что период загрузки достаточно длинный, чтобы содержать оба события, вы должны добавьте к window.onload до вызова (или завершения) тега body, чтобы убедиться, что событие перехвачено.