Foros del Web » Programando para Internet » Javascript »

Saber si esta cargado un script

Estas en el tema de Saber si esta cargado un script en el foro de Javascript en Foros del Web. ¿Hay alguna forma de saber mediante JavaScript, si un fichero .js está cargado en la pagina html que estoy viendo? ... seria algo asi como: ...
  #1 (permalink)  
Antiguo 03/02/2009, 12:00
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 3 meses
Puntos: 0
Saber si esta cargado un script

¿Hay alguna forma de saber mediante JavaScript, si un fichero .js está cargado en la pagina html que estoy viendo?

... seria algo asi como: if (document.getScript('mi_script.js')) { alert ('existe'); }

Sólo que por desgracia la instruccion getScript no existe, y ni idea como implementarla xDD

Saludos a tod@s!!
  #2 (permalink)  
Antiguo 03/02/2009, 12:37
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Saber si esta cargado un script

Podrías probar algo así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script src="test.js"></script>
<script>
var getScript=function(src){
    for(var i=0,scs; scs=document.getElementsByTagName('script')[i];i++){
        if(scs.src.indexOf(src)>-1)
            return true;
        return false;
    }
}
//test:
onload=function(){
    alert('algo.js está cargado:'+getScript('algo.js'));
    alert('test.js está cargado:'+getScript('test.js'));
}
</script>
</head>

<body>
</body>
</html> 
Eso te serviría para comprobar si hay un tag script que apunte a ese fichero.
  #3 (permalink)  
Antiguo 31/08/2010, 14:58
 
Fecha de Ingreso: junio-2009
Mensajes: 309
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Saber si esta cargado un script

A mi ese no me servia, realmente no entiendo por que, supongo que por que estoy con el framework jquery.... aunque no deberia suponer problema. De todas formas si te pasa como a mi, con la idea de panino lo he convertido a jquery.

Te voy a poner dos que he hecho ahora. Uno largo, similar al de panino creo, que recorre todos los tags scripts. Y uno corto y directo.

El script es sencillo: Recorre los tags "script" y recupera su atributo src. En cada uno va haciendo la condicion de ver si concuerda el scr que le pasas con el que tiene, de ser verdadera a la variable val le pone un uno.

Recuerda que si en el html tienes el script asi:
<script type="text/javascript" src="js/js.js"></script>
tienes que pasarle "js/js.js":

alert(getScript("js/js.js"));


El largo:
Código Javascript:
Ver original
  1. // FUNCION PARA SABER SI UN SCRIPT ESTÁ CARGADO
  2.             function getScript(src){
  3.             var val, src;
  4.                 $('script').each(function() {
  5.                     if($(this).attr('src')==src){
  6.                     val=1;
  7.                     }
  8.                 });
  9.                
  10.                 if(val==1){
  11.                     return true;
  12.                 }else{
  13.                     return false;
  14.                 }
  15.             }



El corto: Simplemente busca si existe un script que tenga el src que le pasas. ESTA FUNCION ES LA RECOMENDABLE 100% A USAR
Código Javascript:
Ver original
  1. function getScript2(src){
  2.                 if($('script[src="'+src+'"]').length>0){
  3.                     return true;
  4.                 }else{
  5.                     return false;
  6.                 }
  7.             }

Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:41.