window.onload = function1();
window.onload = function2();
window.onload = function3();
автозапуск функций [JS]
поначалу я использовал схему
Код:
но вскоре обнаружил что запускается только первая функция
попробовал другую схему
Код:
window.onload = function(){
function1();
function2();
function3();
}
function1();
function2();
function3();
}
но тоже имеется ряд недостатков
например я использую модульную систему
и кпримеру на некоторых страницах у меня может отсутствовать функция function3();
тоесть в идеале хочется что бы каждая функция находилась в собственном файле
и когда я прикрепляю файл к странице функция сама сабой запускается
прям кладбище а не форум
может я вопрос неправельно задаю?
Код:
<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>
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>
Цитата: HookEst
Можно хранить функции автозапуска в массиве. В подключаемых файлах, просто добавлять нужную функцию в массив, а по window.onload - вызывать все, что есть в этом массиве.
хм... тоже вариант
мне такое в голову не приходило
спасибо за идею
может кому пригодится
Код:
function addLoadEvent(func){
if (typeof window.onload != 'function'){
window.onload = func;
} else {
var oldonload = window.onload;
window.onload = function(){
oldonload();
func();
}
}
}
if (typeof window.onload != 'function'){
window.onload = func;
} else {
var oldonload = window.onload;
window.onload = function(){
oldonload();
func();
}
}
}
window.addEventListener("load", function(){/* code */}, true);
else
if (window.attachEvent) /* IE */
window.attachEvent("onload", function(){/* code */});
else
window.onload = function(){/* code */};