Да, вывод, который вы видите, гарантирован, потому что событие load
запускается «когда ресурс и его зависимые ресурсы завершили загрузку». window
не будет полностью загружен до тех пор, пока не будет загружен и готов каждый элемент с чем-либо для загрузки, включая сценарии и изображения. Таким образом, <script>
должен загружаться до загрузки window
.
Тот факт, что есть сценарий, который создается динамически, не будет иметь эффекта (при условии, что main
вызывается до полной загрузки окна, как в вашем коде) - после вставки в DOM это теперь что-то окно зависит от, и поэтому должно load
, прежде чем окно делает.