Разестил в Html файле следующий код:
<script src="script.js"></script>
<script src="admin.js"></script>
В обоих js файлах главные функции находятся в window.onload, то есть в файле script.js, как и в admin.js код следующий:
window.onload = function () {
//сама функция
}
Проблема в том, что если я подключаю сначала script.js, а потом admin.js, то код находящийся в window.onload исполняется только в admin.js. Если я меняю местами подключаемые файлы, то исполняемый код также меняется на соответствующий.
Интересно также то, что код, находящийся вне window.onload, выполняется в обоих файлах, а в window.onload - только в последнем.
Как решить проблему?
Дело в том, что при добавлении через присваивание window.onload = function эта присвоенная функция переписывается той, которая присвоена последней.
При добавлении функций в качестве обработчиков событий через window.addEventListener эти обработчики накапливаются и выполняются согласно очерёдности при добавлении.
Следующим образом будет всё исполняться:
//код из файла script.js
window.addEventListener('load', function()
{
console.log('script.js');
}, false);
//код из файла admin.js
window.addEventListener('load', function()
{
console.log('admin.js');
}, false);
<script src="script.js"></script>
<script src="admin.js"></script>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости