Подключить javascript-событие к загрузке страницы
У меня есть aspx, у которого есть следующая функция javascript, выполняемая во время события onload тела.
<body onload="startClock();">
Однако я устанавливаю aspx для использования главной страницы, поэтому тег body больше не существует в aspx. Как мне перейти на регистрацию функции startClock для запуска при ударе страницы и все еще использовать ее?
Ответы
Ответ 1
Если вы не хотите явно назначать window.onload или использовать фреймворк, подумайте:
<script type="text/javascript">
function startClock(){
//do onload work
}
if(window.addEventListener){
window.addEventListener('load',startClock,false); //W3C
}
else{
window.attachEvent('onload',startClock); //IE
}
</script>
http://www.quirksmode.org/js/events_advanced.html
Ответ 2
Вставьте это в любое место в теле страницы:
<script type="text/javascript">
window.onload = function(){
//do something here
}
</script>
Ответ 3
Самый чистый способ - использовать фреймворк javascript, например jQuery.
В jQuery вы можете определить функцию on-load следующим образом:
$(function() {
// ...
});
Или, если вам не нравится короткий стиль $();
:
$(document).ready(function() {
// ...
});
Ответ 4
Page.ClientScriptManager.RegisterStartupScrip(this.GetType(), "startup", "startClock();", true);
или используя прототип
document.observe("dom:loaded", function() {
// code here
});