Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

автозапуск функций [JS]

312
20 августа 2008 года
dead_star
392 / / 26.11.2006
есть ряд функций которые должны запускаться автоматически
поначалу я использовал схему
 
Код:
window.onload = function1();
window.onload = function2();
window.onload = function3();

но вскоре обнаружил что запускается только первая функция
попробовал другую схему
 
Код:
window.onload = function(){
 function1();
 function2();
 function3();
}

но тоже имеется ряд недостатков
например я использую модульную систему
и кпримеру на некоторых страницах у меня может отсутствовать функция function3();
тоесть в идеале хочется что бы каждая функция находилась в собственном файле
и когда я прикрепляю файл к странице функция сама сабой запускается
312
21 августа 2008 года
dead_star
392 / / 26.11.2006
и тишина...
прям кладбище а не форум
может я вопрос неправельно задаю?
17K
21 августа 2008 года
HookEst
144 / / 27.03.2008
Можно хранить функции автозапуска в массиве. В подключаемых файлах, просто добавлять нужную функцию в массив, а по window.onload - вызывать все, что есть в этом массиве.
Код:
<script>
var autorun = [];
window.onload = function(){
for(i=0;i<autorun.length;i++)
    autorun();
}
//...
//в включаемом файле
autorun.push(function(){alert(1)})
//...

//...
//в другом включаемом файле
autorun.push(function(){alert(2)})
//...

autorun.push(function(){alert(3)})


</script>
312
21 августа 2008 года
dead_star
392 / / 26.11.2006
Цитата: HookEst
Можно хранить функции автозапуска в массиве. В подключаемых файлах, просто добавлять нужную функцию в массив, а по window.onload - вызывать все, что есть в этом массиве.


хм... тоже вариант
мне такое в голову не приходило
спасибо за идею

312
24 сентября 2008 года
dead_star
392 / / 26.11.2006
нашел еще решение
может кому пригодится
Код:
function addLoadEvent(func){   
 if (typeof window.onload != 'function'){
  window.onload = func;
 } else {
  var oldonload = window.onload;
  window.onload = function(){
   oldonload();
   func();
  }
 }
}
11K
29 сентября 2008 года
dosER
17 / / 04.07.2005
if (window.addEventListener) /* !IE */
window.addEventListener("load", function(){/* code */}, true);
else
if (window.attachEvent) /* IE */
window.attachEvent("onload", function(){/* code */});
else
window.onload = function(){/* code */};
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог