Foros del Web » Programando para Internet » Javascript » Frameworks JS »

javascript externo

Estas en el tema de javascript externo en el foro de Frameworks JS en Foros del Web. EDITADO: me confundí de sección, pero me di cuenta tarde, sorry hace unos días leí en una web que era bueno poner el código javascript ...
  #1 (permalink)  
Antiguo 26/04/2007, 01:38
 
Fecha de Ingreso: abril-2007
Mensajes: 69
Antigüedad: 17 años
Puntos: 0
javascript externo

EDITADO: me confundí de sección, pero me di cuenta tarde, sorry

hace unos días leí en una web que era bueno poner el código javascript en un fichero externo envez de dentro del html, ya que así se ahorraba espacio al cargarse sólo una vez el javascript externo y no cada vez que se abriera una página (vamos, lo mismo que los css internos y externos). Explicaba como ponerlo en un fichero externo y también el código que había que poner en el html para "llamar" al fichero externo, pero .... no me acuerdo de la dirección.

¿me podríais decir como hacer el javascript externo y como llamarlo en el html? y en que parte del html colocarlo también.


El código es el siguiente (supongo que será sólo el de la precarga de imágenes y los rollovers):

<script type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
  #2 (permalink)  
Antiguo 26/04/2007, 02:22
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: javascript externo

Hola

Bueno, pues tu codigo lo puedes guardar en un archivo llamado script.js por ejemplo, y luego en la pagina que lo necesites pones
(suponiendo que lo tengas en una carpeta llamada script que este al mismo
nivel del archivo html )
<script language=javascript type=text/javascript src=scripts/script.js>
(suponiendo que este al mismo nivel del archivo html)
<script language=javascript type=text/javascript src=script.js>
(y suponiendo que este en una carpeta llamada scripts pero un nivel fuera de la pagina html)
<script language=javascript type=text/javascript src=../scripts/script.js>

espero te sirva
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 26/04/2007, 02:44
 
Fecha de Ingreso: abril-2007
Mensajes: 69
Antigüedad: 17 años
Puntos: 0
Re: javascript externo

ok, muchas gracias.


El código para poner en el .js externo .....

¿copio todo desde <script> ..... , hasta </script>?
¿o sólo lo que va entre <!-- (y la otra que lo cierra)?
  #4 (permalink)  
Antiguo 26/04/2007, 03:15
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: javascript externo

HOla, copialo todo, pues creo que los <!-- --> que se usan generalmente para comentarios html en este caso se usan tambien como comentarios en caso que el explorador que se use no soporte este javascript, y para que no muestre errores pues los tome como comentarios, saludos
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #5 (permalink)  
Antiguo 26/04/2007, 03:24
 
Fecha de Ingreso: abril-2007
Mensajes: 69
Antigüedad: 17 años
Puntos: 0
Re: javascript externo

respecto al código que me pusiste para llamar al js externo...

<script language=javascript type=text/javascript src=scripts/script.js>


hay que cerrarlo con </script> ¿no? y a parte ponerle las comillas a lo que va despues del signo =

Supongo que no lo pusiste por que era demasiado obvio, pero bueno, no me di cuenta y lo copié tal cual, sin las comillas y sin cerrarlo


mmm, y otra cosa, el código para poner en el .js externo es:


function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



sin las etiquetas <script> y las de los comentarios

Última edición por diego222; 26/04/2007 a las 03:30
  #6 (permalink)  
Antiguo 26/04/2007, 03:37
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: javascript externo

Correcto jugador
Aunque yo he probado con y sin "" despues de los signos = y funcionan pero pues si, por mejoria de codigo ponle los "" y si señor, cierras con </script>, la verdad eso se me paso

y respecto al js externo, en ese archivo si necesitas las etiquetas de <script language="javascript"> y </script> y la de los comentarios, pues las primeras identifican al archivo como un script de javascript, y los comentarios como te comente ayudan a que si alguna persona trata de ejecutar ese script sin tener javascript habilitado en su navegador no le salgan errores, saludos
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #7 (permalink)  
Antiguo 26/04/2007, 03:46
 
Fecha de Ingreso: abril-2007
Mensajes: 69
Antigüedad: 17 años
Puntos: 0
Re: javascript externo

pues en el .js externo puse el código sin las etiquetas de script y las de los comentarios y me funcionaba, las puse con las dos etiquietas y no me funcionaban
  #8 (permalink)  
Antiguo 26/04/2007, 03:51
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: javascript externo

Hola
De nuevo tienes razón, ya tengo sueño, por aqui van a ser las 5 am y ya llevo dia y medio pegado al pc, creo que me voy a dormir ya, y si, en efecto, en el archivo js te sobran los <script></script>, saludos y disculpa
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
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 13:14.