Comunidad de diseño web y desarrollo en internet online

cargar javascript dinamicamente

Citar            
MensajeEscrito el 16 Ene 2012 09:55 pm
Hola mi duda es sobre cargar codigo javascript dinamicamente, buscando por google encontre que el secreto esta en una funcion como esta:

function loadScript(path){
script = document.createElement('script');
script.type = 'text/javascript';
script.src = path;
document.getElementsByTagName('head')[0].appendChild(script);
}

Pero tengo dudas, que no he encontrado por ningun lado, quiero saber sobre esto porque mi js esta muy grande
y mi pagina jamas se refresca, ya saben uso el hash, entre mis principales dudas esta:

¿Al cargar un escript de esta manera automaticamente borra el primero?(veo que la funcion siempre dice
document.getElementsByTagName('head')[0].appendChild(script); entonces siempre colocara mi escrip en head0 sobre escribiendo el anterior.)
o exactamente como funciona esto??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 17 Ene 2012 12:21 pm
No, no lo borrará, aparecerá repetido tantas veces como veces llames a ese código (y mientras no se recargue la página claro está).

Lo que puedes hacer es verificar si ya existe el tag <scrip> que acabas de crear, para ello podrías agregarle el atributo id a <script>.

Mmm... este tema me parece suficientemente interesante como para escribir un artículo al respecto...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Ene 2012 02:35 pm
entiendo lo de colocar el id, imagino que ese id lo usaria para ver si la funcion esta cargada, nadamas una duda como pregunto con javascript si un id existe??

Por rod00x3

Claber

595 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 17 Ene 2012 04:24 pm

Código Javascript :

if (document.getElementbyId("elid")) {
   alert("elid existe");
} else {
   alert("elid NO existe");
}


El método getElementbyId devuelve NULL si no encuentra un elemento con el id indicado, NULL evalua a falso en un if, cualquier otro valor evaluará verdadero, en este caso un puntero al elemento con ese id.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 22 Ene 2012 05:25 pm

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.