Pregunta ¿Cómo llamo a una función de JavaScript en la carga de la página?


Tradicionalmente, para llamar a una función de JavaScript una vez que la página se ha cargado, debe agregar un onload atribuir al cuerpo que contiene un poco de JavaScript (por lo general, solo se llama a una función):

<body onload="foo()">

Cuando la página se haya cargado, quiero ejecutar un código JavaScript para rellenar partes de la página con datos del servidor. No puedo usar el onload atributo ya que estoy usando fragmentos JSP, que no tienen body elemento al que puedo agregar un atributo.

¿Hay alguna otra forma de llamar a una función de JavaScript en la carga? Prefiero no usar jQuery ya que no estoy muy familiarizado con él.


157
2017-10-01 19:57


origen


Respuestas:


Si desea que el método de carga tome parámetros, puede hacer algo similar a esto:

window.onload = function() {
  yourFunction(param1, param2);
};

Esto vincula onload a una función anónima, que cuando se invoca, ejecutará la función deseada, con los parámetros que le dé. Y, por supuesto, puede ejecutar más de una función desde el interior de la función anónima.


272
2017-10-01 20:38



Otra forma de hacerlo es mediante el uso de detectores de eventos, aquí cómo los usa:

document.addEventListener("DOMContentLoaded", function() {
  you_function(...);
});

Explicación:

DOMContentLoaded Significa que cuando los Objetos DOM del documento están cargados y vistos por JavaScript, también podría haber sido "hacer clic", "enfocar" ...

función() Función anónima, se invocará cuando ocurra el evento.


42
2018-04-28 21:35



function yourfunction() { /* do stuff on page load */ }

window.onload = yourfunction;

O con jQuery si quieres:

$(function(){
   yourfunction();
});

Si desea llamar a más de una función en la carga de la página, eche un vistazo a este artículo para obtener más información:


26
2017-10-01 19:59



Su pregunta original no estaba clara, suponiendo que la edición / interpretación de Kevin es correcta, esta primera opción no se aplica

Las opciones típicas es usar el onload evento:

<body onload="javascript:SomeFunction()">
....

También puede colocar su javascript al final del cuerpo; no comenzará a ejecutarse hasta que el documento esté completo.

<body>
  ...
  <script type="text/javascript">
    SomeFunction();
  </script>
</body>

Y, otras opciones, es considerar el uso de un marco JS que intrínsecamente hace esto:

// jQuery
$(document).ready( function () {
  SomeFunction();
});

22
2017-10-01 19:59



este es el truco (funciona en todos lados):

r(function(){
alert('DOM Ready!');
});
function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}

4
2018-05-20 11:32



Debe llamar a la función a la que desea llamar cuando se carga (es decir, carga del documento / página). Por ejemplo, la función que desea cargar cuando se carga el documento o la página se llama "suFunción". Esto se puede hacer llamando a la función en evento de carga del documento. Por favor, consulte el código a continuación para obtener más detalles.

Pruebe el siguiente código:

<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function () {
        yourFunction();
    });
function yourFunction(){
 //some code
}
</script>

3
2018-02-26 13:59



<!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>


2
2018-04-03 08:49