Как сделать вызов функции?

Статус
Закрыто для дальнейших ответов.

snowlander

Member
Регистрация
29.07.2008
Сообщения
10
Есть функция, например:
<script type="text/javascript">
function init(){
...
}
</script>

Как вызвать эту функцию при загрузке страницы не используя "<body onload='init()'>"? Есть возможность вызвать эту функцию, поместив код в тело приведенного в начале скрипта?

Спасибо.
 

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
Угу. Можно. Вот так:
Код:
<script type="text/javascript">
function init(){
...
}
// после определения функции и вызываете
init();
</script>
Вот только если этот код у вас стоит в head, и обращается к элементам страницы, то обломится (как минимум в IE).
Раз уж вы плясали от onLoad, то попробуйте так:
Код:
...
<head>
...
<script type="text/javascript">
function init(){
...
}
</script>
<head>
<body>
....
и в самом конце
<script type="text/javascript">init();</script>
</body>
</html>
 

snowlander

Member
Регистрация
29.07.2008
Сообщения
10
Обломилось. :(

При вызове ф-ции из самого скрипта ничего не происходит. И при вызове ф-ции из тела страницы скриптом - тоже не пашет.
 

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
Так ничего не получится... Ставьте FireFox, и после установки поставьте себе дополнение (скачаете с оффсайта) FireBug.
Вот тогда вы увидите в чём у вас проблема.
 

Ivan

суперМодератор
Регистрация
10.01.2007
Сообщения
316
В общем, сделайте в разделе head:
Код:
<script type="text/javascript">
function init(){
alert(1);
}
init();
</script>
если эта конструкция отрабатывает (а она отрабатывает), то причина в самом коде init, а его вы не привели. Отсюда и помочь не могу.
 

snowlander

Member
Регистрация
29.07.2008
Сообщения
10
Проверил. Действительно, что-то с самой функцией init().
Спасибо за разъяснение.
 

Valeno

Новичок
Регистрация
13.07.2009
Сообщения
2
Я извиняюсь, но, по-моему, Вы ошибаетесь. Предлагаю это обсудить.
 

snowlander

Member
Регистрация
29.07.2008
Сообщения
10
Да нет, все правильно. Переопределил ф-цию и все заработало.
 

Fliand

Well-Known Member
Регистрация
16.09.2007
Сообщения
81
Вообще-то при загрузке страницы, чтоб функция вызывалась, без атрибута onload моно сделать так. А примеры выше, это не вызов функции после загрузки стр.

<script type="text/javascript">
function init(){
...
}

window.onload = init; // либо onload = init; без window
</script>

Так как это не одно и тоже

Код:
<script type="text/javascript">
function init(){
...
}
// после определения функции и вызываете
init();
</script>
Код:
<script type="text/javascript">
function init(){
...
}
</script>

"<body onload='init()'>"
 
Статус
Закрыто для дальнейших ответов.
Верх Низ