Eu quero executar uma função quando a página é carregada, mas não quero utilizá-la na tag <body>
.
Eu tenho um script que roda se eu o rubricar no <body>
, assim:
function codeAddress() {
// code
}
<body onLoad="codeAddress()">
Mas eu quero executá-lo sem o <body onload="codeAddress()"">
e eu tentei muitas coisas, por exemplo, isto:
window.onload = codeAddress;
Mas não está a funcionar.
Então, como é que o corro quando a página é carregada?
window.onload = codeAddress;` deve funcionar - [aqui's uma demonstração](
), e o código completo:<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function codeAddress() {
alert('ok');
}
window.onload = codeAddress;
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function codeAddress() {
alert('ok');
}
</script>
</head>
<body onload="codeAddress();">
</body>
</html>
Dê uma olhada no domReady script que permite a configuração de múltiplas funções para executar quando o DOM tiver carregado. It's basicamente o que o Dom ready faz em muitas bibliotecas JavaScript populares, mas é leve e pode ser tomado e adicionado no início do seu arquivo de script externo.
Exemplo de uso
// add reference to domReady script or place
// contents of script before here
function codeAddress() {
}
domReady(codeAddress);