Событие windows.onload
Здравствуйте.
Такой у меня к вам вопрос. Мне нужно чтобы функция вызывалась при загрузке страницы. Но, событие window.onload уже определено в файле script.js. В этом файле находятся скрипты общие для всех страниц сайта. Вот так выглядит это событие (находится в последней строке файла): window.onload = Custom.init; Если я переписываю так: window.onload = function() { Custom.init(); fillGrades(); } то все работает, но на других страницах, где нет функции fillGrades (она есть только в одной странице), это вызывает ошибку (если посмотреть в Консоль ошибок), хотя все работает нормально, и для юзера никак не заметно. Но я думаю что это не есть гуд, и потенциально опасно. Как еще можно повешать эту функцию на загрузку? Все написано на чистом Яваскрипте, подключать jQuery только ради события ready не хотелось бы. В этой функции fillGrades() все специфично для данной страницы и помещать ее в общий файл будет проблематично, это вызовет кучу ошибок. Если только как-то определять что загружен именно нужный файл и тогда эту функцию вызывать, это возможно? |
|
var _init = []; // массив вызываемых функций window.onload = function() { for ( var i in _init ) { if ( typeof( _init[i] ) == 'function' ) _init[i](); // вызываем подряд все функции из _init } } _init.push( Custom.init ); // загоняем в _init нужные функции _init.push( fillGrades ); // при событии onload они все выполнятся |
window.onload = function() { Custom.init(); if(window.fillGrades) fillGrades(); } |
Часовой пояс GMT +3, время: 17:14. |