Foros del Web » Programando para Internet » Javascript »

Archivos externos

Estas en el tema de Archivos externos en el foro de Javascript en Foros del Web. Hola. Seguramente sea una tontería y algo pase por alto. Siempre he hecho botones rollover escribiendo el código javascript directamente, pero esta vez quiero hacerlo ...
  #1 (permalink)  
Antiguo 13/05/2011, 14:41
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Archivos externos

Hola.

Seguramente sea una tontería y algo pase por alto. Siempre he hecho botones rollover escribiendo el código javascript directamente, pero esta vez quiero hacerlo mediante dos archivos externos.

El código que he utilizado ha sido este:

<head>
<script type="text/javascript" language="javascript" src="entrar_rollover/entrar_head.js">
</script>
</head>

Luego, he puesto <body onload="preloadImages();"> y dentro del body, el siguiente código:

<script type="text/javascript" language="javascript" src="entrar_rollover/entrar_body.js"></script>

El caso es que en Dreamweaver me sale la marca de que ahí hay algo, esa imagen de un pergamino o documento amarillo, pero cuando visualizo el documento html en el navegador (Mozilla Firefox), no sale nada.

¿Alguien puede decirme qué hago mal?

Gracias.

Un beso.
  #2 (permalink)  
Antiguo 13/05/2011, 14:51
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Archivos externos

el caso es no podemos acceder a esos archivos .js puesto que están en tu equipo. dos includes .js para hacer un rollover?? te has planteado en abandonar dw?? ahora en serio, te interesa mas hacerlo con css
  #3 (permalink)  
Antiguo 14/05/2011, 12:44
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Sí, en serio, ¿eso era una broma?

No quiero hacerlo con css, quiero hacerlo con javascript. No creo que necesites ver los archivos, pues en ellos no hay ningún error. El rollover lo he creado con ImageReady. Copiando el código "suelto" en el código de mi página, no tiene ningun problema, pero me gustaría saber cómo hacerlo con archivos externos.
  #4 (permalink)  
Antiguo 14/05/2011, 13:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Archivos externos

El atributo language es obsoleto y no deberías usarlo. Y ya que el código de tus archivos parece ser un secreto de estado, mejor usá la consola de errores de Firefox o alguna herramienta como Firebug, porque aquí el único que podría adivinar la línea de código errónea es el amigo zerokilled .
  #5 (permalink)  
Antiguo 14/05/2011, 14:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Archivos externos

buenas,
a ver, ya que estan solicitando mis servicios. vere que puedo hacer por ti.



oooopss! se me rompio la bola de adivinacion! hice mucha fuerza. deja que regrese!
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 14/05/2011, 14:25
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Archivos externos

ahora si! no habia mas remedio, tuve que usar otra.



bueno, aparentemente el problema es el orden en que estas cargando los script. es decir, al momento en que cargas el script, ciertos elementos aun no existen en el DOM. debes ejecutar el codigo una vez el navegador finaliza la carga o haya analizado gran parte del DOM. para ello, puedes usar el evento onload o bien ubicas tus scripts al final del documento pero antes del cierre </body>.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 15/05/2011, 03:49
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Muchas gracias, Zerokilled.

El botón es lo último que hay en el código, pues es el botón de entrada en la págian de inicio, y lo he colocado en la parte inferior; lo único que hay entre el código javascript y el </body> son dos </div>, que estoy utilizando css menos para el botón, ya que lo he dibujado con Photoshop y lo he programado en ImageReady, solo era copiar el código, pero quería intentarlo con archivos externos para tenerlo todo mejro organizado en carpetas.

Aun así, sigue sin funcionar, pero sabiendo que lo inserto bien y que el problema es del DOM, me vale. Pondré el código suelto.

Qué graciosetes sois en este subforo, Panino. Lo cierto es que el Consejo de Estado e Interior no me permiten enseñarte el código a ti. He leído sobre el Firebug, no solo es útil para javascript, asío que seguiré tu consejo y me lo bajaré.

Muchas gracias de nuevo a los tres.
  #8 (permalink)  
Antiguo 15/05/2011, 04:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Archivos externos

¡buenas!
no se si lo del Consejo de Estado e Interior fue en plan de broma porque a ser honesto no conozco tal entidad. sin embargo, se nos sera dificil ofrecerte una ayuda sin tener algo tangible. entiendo que por temas de contrato o normas no puedas mostrar el codigo. aunque pienso, mas que el codigo en si lo que se quiere proteger es el contenido. el contenido en si no es lo que nos interesa, sino el codigo. por tanto, lo mejor que puedes hacer es realizar una version similar que reproduzca el error que obtienes pero con otro contenido.

en tus manos esta la decision de permitirte que otros te ayuden.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 17/05/2011, 13:10
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Claro que era una broma, simple ironía para contestar a la de Panino. No sé en Puerto Rico, pero en España hay Consejo de Estado y Ministerio de Interior.

La página que pretendo hacer es para mí, para pasar el rato y aprender, muchas veces de vosotros. Yo creo que nadie en su sano juicio contrataría para hacerle una págian web a una chica que cada tres por dos está pidiendo ayuda en este foro. Ahora mismo, estoy intentandi pintar la barra de scroll. Creía que sabía pero resulta que no. En fin, que no tengo ningún problema en poner el código, pero no creo que esté mal porque es el que ha generado ImageReady.


<!-- ImageReady Preload Script (entrar2.psd) -->
<script type="text/javascript">
<!--

function newImage(arg) {
if (document.images) {
rslt = new Image();
rslt.src = arg;
return rslt;
}
}

function changeImages() {
if (document.images && (preloadFlag == true)) {
for (var i=0; i<changeImages.arguments.length; i+=2) {
document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
}
}
}

var preloadFlag = false;
function preloadImages() {
if (document.images) {
entrar2_01_over = newImage("Images/entrar2_01-over.gif");
preloadFlag = true;
}
}

// -->
</script>
<!-- End Preload Script -->
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="preloadImages();">
<!-- ImageReady Slices (entrar2.psd) -->
<a href="#"
onmouseover="changeImages('entrar2_01', 'Images/entrar2_01-over.gif'); return true;"
onmouseout="changeImages('entrar2_01', 'Images/entrar2_01.gif'); return true;"
onmousedown="changeImages('entrar2_01', 'Images/entrar2_01-over.gif'); return true;"
onmouseup="changeImages('entrar2_01', 'Images/entrar2_01-over.gif'); return true;">
<img name="entrar2_01" src="Images/entrar2_01.gif" width="238" height="101" border="0" alt=""></a>
<!-- End ImageReady Slices -->


Cuando abrí el tema ya os dije cómo lo inserté.

Un beso y muchas gracias.
  #10 (permalink)  
Antiguo 17/05/2011, 14:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Archivos externos

buenas,
lo unico que puedo pensar es que no estas cargando correctamente el script, o sea, problema de rutas. por lo demas, lo veo bien. verifica con alguna consola si el archivo esta cargando correctamente.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 17/05/2011, 16:27
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Pues si está bien tanto el código como la inserción, lo único que se me ocurre es que sea cosa de brujas. He pintado la barra de scroll, lo he revisado mil y una veces, he entrado en distintas páginas pare ver cómo se hací ay se hace igual a como yo lo hago, pero no funciona. Mi ordenata me está vacilando.

Gracias por todo, Zerokilled.

Un beso.
  #12 (permalink)  
Antiguo 18/05/2011, 02:54
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Archivos externos

Pero en un mensaje anterior mencionabas que tenías 2 archivos javascript externos y en esa porción de código sólo veo un tag script. Habría que ver cómo estás haciendo esa división y ver también la parte html donde se encuentran las imágenes.
  #13 (permalink)  
Antiguo 18/05/2011, 04:42
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Muy bien. Sí, son dos archivos .js. La parte del código que se pone enter <head> y </head> es una; y la parte que se pone entre <body> y </body> es otro. 1+1=2.

El archivo que iría en el <head>, insertado como está pùesto en el primer post, quitanto 'language="javascript"', que me dijsite que está en desuso, es este:

<!--

function newImage(arg) {
if (document.images) {
rslt = new Image();
rslt.src = arg;
return rslt;
}
}

function changeImages() {
if (document.images && (preloadFlag == true)) {
for (var i=0; i<changeImages.arguments.length; i+=2) {
document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
}
}
}

var preloadFlag = false;
function preloadImages() {
if (document.images) {
entrar2_01_over = newImage("Images/entrar2_01-over.gif");
preloadFlag = true;
}
}

// -->


Y lo del <body>:

<a href="http:www.moonlight.eshost.es" OnClick="alert('I´m horny... ups. I´m sorry, seguimos en construcción. Paciencia, cada vez me queda menos.')"
onmouseover="changeImages('entrar2_01', 'entrar_rollover/Images/entrar2_01-over.gif'); return true;"
onmouseout="changeImages('entrar2_01', 'entrar_rollover/Images/entrar2_01.gif'); return true;"
onmousedown="changeImages('entrar2_01', 'entrar_rollover/Images/entrar2_01-over.gif'); return true;"
onmouseup="changeImages('entrar2_01', 'entrar_rollover/Images/entrar2_01-over.gif'); return true;">
<img name="entrar2_01" src="entrar_rollover/Images/entrar2_01.gif" width="238" height="101" border="0" alt="Botón de entrada"></a>


El código javascript está bien, como ya he dicho, pegándolo suelto en el archivo html funciona perfectamente, el error está o en la manera de insertarlo y en la división.

Era solo para aprender a hacerlo, tampoco me supone un gran problema, otros quebraderos de cabeza más importantes me está dando la página.
  #14 (permalink)  
Antiguo 18/05/2011, 05:22
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Archivos externos

Justamente el problema es que el segundo archivo no tiene código javascript sino código html.
Para que te funcione, en el segundo archivo debe haber código javascript. Reemplazá lo que tenés por esto que sigue y seguramente funcionará:
Código:
document.write('<a href="http:www.moonlight.eshost.es" OnClick="alert(&quot;I´m horny... ups. I´m sorry, seguimos en construcción. Paciencia, cada vez me queda menos.&quot;)" onmouseover="changeImages(&quot;entrar2_01&quot;, &quot;entrar_rollover/Images/entrar2_01-over.gif&quot;); return true;" onmouseout="changeImages(&quot;entrar2_01&quot;, &quot;entrar_rollover/Images/entrar2_01.gif&quot;); return true;" onmousedown="changeImages(&quot;entrar2_01&quot;, &quot;entrar_rollover/Images/entrar2_01-over.gif&quot;); return true;" onmouseup="changeImages(&quot;entrar2_01&quot;, &quot;entrar_rollover/Images/entrar2_01-over.gif&quot;); return true;"> <img name="entrar2_01" src="entrar_rollover/Images/entrar2_01.gif" width="238" height="101" border="0" alt="Botón de entrada"></a>');
Notá que no deben existir saltos de línea porque el intérprete los consideraría finales de instrucción y producirían errores.
  #15 (permalink)  
Antiguo 18/05/2011, 15:29
Avatar de Moonlight  
Fecha de Ingreso: julio-2009
Mensajes: 182
Antigüedad: 14 años, 9 meses
Puntos: 10
Respuesta: Archivos externos

Muchas gracias, Panino. Y cierro este hilo dándote las gracias también a ti, Zerokilled.
Seguramente volváis a tener noticias mías, jaja.

Un beso.

Etiquetas: externos
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 02:24.