Esta es la funcion para verificar la existencia:
Código javascript
:
Ver originalfunction verificarFuncion(nombreFuncion) {
/* mostramos un mensaje de prueba */
alert('window.' + nombreFuncion + ' = ' + typeof window.nombreFuncion);
/* verificamos si ya se cargo la function */
if (typeof window.nombreFuncion == 'function') {
/* si ya existe, llamamos a la function */
nombreFuncion();
} else {
/* reintentamos */
setTimeout("verificarFuncion('" + nombreFuncion + "');", 100);
}
/* retornamos true */
return true;
}
Y la llamo del siguiente modo:
Código javascript
:
Ver originalverificarFuncion('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 originalfunction import(url) {
/* verificamos si el DOM esta cargado */
if (!domLoadReady()) {
/* reintentamos */
setTimeout("import('" + url + "');", 100);
} else {
/* creamos un elemento SCRIPT */
var js = document.createElement('script');
/* le especificamos el tipo */
js.type = 'text/javascript';
/* le especificamos la ruta */
js.src = url;
/* agregamos el fichero js */
document.body.appendChild(js);
/* retornamos true */
return true;
}
}
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 originalverificarFuncion('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