Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/10/2009, 08:14
Avatar de hschimpf
hschimpf
 
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: verificar existencia se function

Esta es la funcion para verificar la existencia:
Código javascript:
Ver original
  1. function verificarFuncion(nombreFuncion) {
  2.     /* mostramos un mensaje de prueba */
  3.     alert('window.' + nombreFuncion + ' = ' + typeof window.nombreFuncion);
  4.     /* verificamos si ya se cargo la function */
  5.     if (typeof window.nombreFuncion == 'function') {
  6.         /* si ya existe, llamamos a la function */
  7.         nombreFuncion();
  8.     } else {
  9.         /* reintentamos */
  10.         setTimeout("verificarFuncion('" + nombreFuncion + "');", 100);
  11.     }
  12.     /* retornamos true */
  13.     return true;
  14. }
Y la llamo del siguiente modo:
Código javascript:
Ver original
  1. verificarFuncion('nombreDeFuncion');
Te comento porque tengo necesidad de esto.
Me hice una funcion con la cual agrego ficheros JS durante el proceso de carga de la pagina
esta es la funcion:
Código javascript:
Ver original
  1. function import(url) {
  2.     /* verificamos si el DOM esta cargado */
  3.     if (!domLoadReady()) {
  4.         /* reintentamos */
  5.         setTimeout("import('" + url + "');", 100);
  6.     } else {
  7.         /* creamos un elemento SCRIPT */
  8.         var js = document.createElement('script');
  9.         /* le especificamos el tipo */
  10.         js.type = 'text/javascript';
  11.         /* le especificamos la ruta */
  12.         js.src = url;
  13.         /* agregamos el fichero js */
  14.         document.body.appendChild(js);
  15.         /* retornamos true */
  16.         return true;
  17.     }
  18. }
La funcion domLoadReady() verifica que se finalizo la carga de la pagina buscando la etiqueta </BODY>. No utilizo window.load = function(); porque espera a que se cargue completamente la pagina, con las fotos, etc. Yo solo necesito el DOM cargado.
Luego ejecuto la funcion mediante verificarFuncion(). Por ej:
Código javascript:
Ver original
  1. verificarFuncion('funcionQueQuieroEjecutar');
Entonces esta intenta hasta que la encuentra y la ejecuta. O sea, hasta que la funcion import() logro agregar el fichero JS.
Se entiende no? jeje