Foros del Web » Programando para Internet » Javascript »

Poner Javascript en un lugar deseado de la página

Estas en el tema de Poner Javascript en un lugar deseado de la página en el foro de Javascript en Foros del Web. Hola amigos. Vamos a ver si me se explicar: Los Javascripts se pueden poner directamente dentro del código HTML, pero lo que me gustaría saber ...
  #1 (permalink)  
Antiguo 17/06/2013, 07:13
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Poner Javascript en un lugar deseado de la página

Hola amigos. Vamos a ver si me se explicar:

Los Javascripts se pueden poner directamente dentro del código HTML, pero lo que me gustaría saber es como ponerlo fuera de ese código mediante enlaces.

He buscado por Internet y existe la posibilidad de ponerlo entre las etiquetas <head> y </head> mediante esta línea:

<script language="text/javascript" src="archivo.js"> </script>

Lo que sucede entonces es que el Javascript no se ve donde realmente uno quisiera; como por ejemplo en algún determinado rincón de la página. ¿Sabéis que tipo de comando es necesario para hacer eso y que aparezca donde se desea realmente?

Os lo agradecería mucho. Saludos
  #2 (permalink)  
Antiguo 17/06/2013, 16:33
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

el codigo se vera donde lo coloques , creo te refieres a un elemento que es manipulado por tu js..

por ejemplo un div, span ,input o algo

para poderlo colocar en cualquier lugar de la pantalla se utilizan estilos , css...

que es lo que quieres que se vea en la parte superior izq? si pones codigo podria ser mas facil entender tu pregunta
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 18/06/2013, 04:23
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Hola Pirruman, perdona por no haber puesto el ejemplo del código mío. Quiero poner el Javascript que salga en una parte, como por ejemplo en la segunda fila de esta tabla:

<html>
<head>
<title>pruebas</title>

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

</head>

<body>
<table width="50%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>Enlazar aquí el externo.js</td>
</tr>
</table>
</body>
</html>


El Javascript externo es de un pequeño calendario con la fecha actual, llamado 'externo.js':

<script languaje="JavaScript">
mesarray=new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio","Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
diaarray=new Array( "Domingo","Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
hoy = new Date();
dias = hoy.getDate();
dia = hoy.getDay();
mes = hoy.getMonth();
mes=mesarray[mes];
dia =diaarray[dia];
anno = hoy.getYear();
if (anno <200)
anno = anno+1900;
document.write('<TABLE WIDTH="60" height="30" BORDER="0" BGCOLOR="#FFFFFF"><TR><TD><CENTER>');

document.write('<FONT SIZE="2" COLOR="#000000">'+dia+'</FONT><br>');
document.write('<FONT SIZE="4" COLOR="#000000" FACE="Arial"><B>'+dias+'</B></FONT><br>');
document.write('<FONT SIZE="2" COLOR="#000000"> <B>'+mes+'</B></FONT><br>');
document.write('<FONT SIZE="2" COLOR="#000000">'+anno+'</FONT><br>');

document.write('</CENTER></TR></TD></TABLE>');
</script>

Espero me puedas ayudar
  #4 (permalink)  
Antiguo 18/06/2013, 07:47
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

en esta parte
Cita:
<td>Enlazar aquí el externo.js</td>
colocarle un id
Cita:
<td id="mical">Enlazar aquí el externo.js</td>
y en tu codigo js cambiar el document.write por document.getelementbyid

Cita:
document.getElementById('mical').innerHTML='<TABLE WIDTH="60" height="30" BORDER="0" BGCOLOR="#FFFFFF"><TR><TD><CENTER>';
document.getElementById('mical').innerHTML=.... etc
prueba si funciona de esta manera
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #5 (permalink)  
Antiguo 18/06/2013, 09:10
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Gracias por la respuesta, lo he probado y no aparece. Lo que hice fue esto que marco en letra negrita:

<html>
<head>
<title>pruebas</title>

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

</head>

<body>
<table width="50%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td id="mical"></td>
</tr>
</table>
</body>
</html>


En el Javascript externo cambié document.write por el que me dijiste document.getElementById('mical').innerHTML=

<script languaje="JavaScript">
mesarray=new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio","Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
diaarray=new Array( "Domingo","Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
hoy = new Date();
dias = hoy.getDate();
dia = hoy.getDay();
mes = hoy.getMonth();
mes=mesarray[mes];
dia =diaarray[dia];
anno = hoy.getYear();
if (anno <200)
anno = anno+1900;
document.getElementById('mical').innerHTML=('<TABLE WIDTH="60" height="30" BORDER="0" BGCOLOR="#FFFFFF"><TR><TD><CENTER>');

document.getElementById('mical').innerHTML=('<FONT SIZE="2" COLOR="#000000">'+dia+'</FONT><br>');
document.getElementById('mical').innerHTML=('<FONT SIZE="4" COLOR="#000000" FACE="Arial"><B>'+dias+'</B></FONT><br>');
document.getElementById('mical').innerHTML=('<FONT SIZE="2" COLOR="#000000"> <B>'+mes+'</B></FONT><br>');
document.getElementById('mical').innerHTML=('<FONT SIZE="2" COLOR="#000000">'+anno+'</FONT><br>');
document.getElementById('mical').innerHTML=('</CENTER></TR></TD></TABLE>');
</script>
  #6 (permalink)  
Antiguo 18/06/2013, 09:44
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

no veo la necesidad de colocar una tabla de una celda dentro de una celda.... esto te servira

Cita:
var MITABLA='<CENTER>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+dia+'</FONT><br>';
MITABLA+='<FONT SIZE="4" COLOR="#000000" FACE="Arial"><B>'+dias+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000"> <B>'+mes+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+anno+'</FONT>';
MITABLA+='</CENTER>';
document.getElementById('mical').innerHTML=MITABLA ;
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #7 (permalink)  
Antiguo 18/06/2013, 10:06
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Creo que algo he hecho mal. Pienso que pude ser en la parte entre el <head></head>


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


luego donde quiero que aparezca, entre <body></body>


<body>
<td id="mical"><a href="externo.js"></a></td>
</body>

¿Tal vez algo no lo he puesto como debería?
  #8 (permalink)  
Antiguo 18/06/2013, 10:16
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

seguramente viendo la consola de errores te mostraria algo asi como , mical no definido...

puesto que primero realizas la funcion donde buscas el elemento que no existe aun , y despues crreas el elemento

coloca el atributo defer a tu inclusion de js, el cual dice que se incluira hasta que lapagina haya cargado

Cita:
<script src="externo.js" language="javascript" type="text/javascript" defer></script>
y en esta parte estas haciendo un link a la pagina externo.js no la estas llamando

Cita:
<td id="mical"><a href="externo.js"></a></td>
borra y solo dejalo de esta forma

Cita:
<td id="mical"></td>
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #9 (permalink)  
Antiguo 18/06/2013, 10:37
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

No funciona amigo. Lo he probado todo y ya no se que hacer. Hice lo que me dijiste pero sigo igual.

Tal vez, pienso yo que el error podría estar dentro del archivo js

Pero antes si funcionaba si lo dejaba incluido dentro del código HTML pero no me gusta llenar la página de muchos códigos Javascript y por eso prefiero ponerlos externos.
  #10 (permalink)  
Antiguo 18/06/2013, 10:47
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

Puedes hacerlo una funcion y despues llamarla en cualquier evento , yo en el ejemplo lo coloque al final , pero puedes ponerlo en el onclick onblur etc
Cita:
<html>
<head>
<title>pruebas</title>
<script languaje="JavaScript">
function CAL(MIID)
{
mesarray=new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio","Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
diaarray=new Array( "Domingo","Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
hoy = new Date();
dias = hoy.getDate();
dia = hoy.getDay();
mes = hoy.getMonth();
mes=mesarray[mes];
dia =diaarray[dia];
anno = hoy.getYear();
if (anno <200)
anno = anno+1900;
var MITABLA='<CENTER>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+dia+'</FONT><br>';
MITABLA+='<FONT SIZE="4" COLOR="#000000" FACE="Arial"><B>'+dias+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000"> <B>'+mes+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+anno+'</FONT>';
MITABLA+='</CENTER>';
document.getElementById(MIID).innerHTML=MITABLA;
}
</script>
</head>

<body>
<table width="50%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td id="mical"></td>
</tr>
<tr>
<td id="mical2"></td>
</tr>
</table>
<script type="text/javascript">
CAL('mical');
CAL('mical2');
</script>
</body>
</html>
primero prueba colocando la funcion en la misma pagina, despues si lo deseas externo creala en tu archivo js e incluyela
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #11 (permalink)  
Antiguo 18/06/2013, 11:38
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

El código funciona todo en la misma página, pero si realizo el Javascript externo deja de verse.


¿Le cambio el nombre al archivo 'externo.js' por: 'mical.js' o 'MIID.js'?

en la parte del

<head>

<script src="externo.js" language="javascript" type="text/javascript" defer></script>

</head>
  #12 (permalink)  
Antiguo 18/06/2013, 11:41
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

si lo quieres hacer externo verifica la ruta y el nombre del archivo no de la funcion,ahi dices que en la misma carpeta donde esta tu pagina esta un archivo llamado "externo.js" recuerda q es sensible a mayusculas y minusculas la inclusion de los archivos y quitale el defer a la inclusion

Cita:
<script src="externo.js" language="javascript" type="text/javascript"></script>
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #13 (permalink)  
Antiguo 18/06/2013, 11:58
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Ahora mismo tengo el externo.js en la misma carpeta de la página:

<script languaje="JavaScript">
function CAL(MIID)
{
mesarray=new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio","Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
diaarray=new Array( "Domingo","Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado");
hoy = new Date();
dias = hoy.getDate();
dia = hoy.getDay();
mes = hoy.getMonth();
mes=mesarray[mes];
dia =diaarray[dia];
anno = hoy.getYear();
if (anno <200)
anno = anno+1900;
var MITABLA='<CENTER>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+dia+'</FONT><br>';
MITABLA+='<FONT SIZE="4" COLOR="#000000" FACE="Arial"><B>'+dias+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000"> <B>'+mes+'</B></FONT><br>';
MITABLA+='<FONT SIZE="2" COLOR="#000000">'+anno+'</FONT>';
MITABLA+='</CENTER>';
document.getElementById(MIID).innerHTML=MITABLA;
}
</script>



Luego tengo entre las etiquetas <head></head> esto otro:

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

Y por último entre las etiquetas <body></body> tengo esto otro:

<td id="mical"></td>

Por más vueltas que le he dado no consigo encontrar el error.
  #14 (permalink)  
Antiguo 18/06/2013, 12:06
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

pruebalo en otro navegador a veces por estar en cache o algo asi demora en reconocer una nueva funcion de javascript, o intenta con la consola de errores de firefox te mostrara cual es el error
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #15 (permalink)  
Antiguo 18/06/2013, 12:32
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Hola de nuevo amigo. En la consola de errores de Firefox me da esto:


Errores

SyntaxError en: externo.js


Advertencias:

Se usó la propiedad no estándar document.all. Use el estándar del W3C document.getElementById() en su lugar.
  #16 (permalink)  
Antiguo 18/06/2013, 14:15
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Poner Javascript en un lugar deseado de la página

bueno ahi te debe decir la linea en la que se ve el error , busca donde colocas document.all...

en el archivo que estas incluyendo estas utilizando document.all
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #17 (permalink)  
Antiguo 18/06/2013, 14:37
Avatar de jumago  
Fecha de Ingreso: marzo-2009
Mensajes: 34
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Poner Javascript en un lugar deseado de la página

Bueno amigo no quiero hacerme pesado, es mejor dejar el tema porque es complicado saber donde está el error.

En mi documento externo.js no viene eso de document.all

Creo que al final lo mejor será incluir todo el código Javascript dentro del mismo documento HTML.

Un fuerte abrazo y muchas gracias.

Etiquetas: javascript+html
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 21:39.