Foros del Web » Programando para Internet » Javascript »

Incluir .js dentro de otro .js

Estas en el tema de Incluir .js dentro de otro .js en el foro de Javascript en Foros del Web. Se puede incluir un .js dentro de otro .js???, he buscado en un par de manuales y no encontrado nada. Gracias....
  #1 (permalink)  
Antiguo 09/05/2003, 02:10
 
Fecha de Ingreso: mayo-2003
Mensajes: 2
Antigüedad: 20 años, 11 meses
Puntos: 0
Exclamación Incluir .js dentro de otro .js

Se puede incluir un .js dentro de otro .js???, he buscado en un par de manuales y no encontrado nada. Gracias.
  #2 (permalink)  
Antiguo 09/05/2003, 02:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, orod. Bienvenido al Foro.

Yo diría que no se puede incluir un .js dentro de otro. Lo que puedes hacer es incluir los 2 en la sección <head> de la página:

<head>
<script language="JavaScript" src="uno.js"></script>
<script language="JavaScript" src="dos.js"></script>
</head>

Creo que con esto debería funcionar. Saludos,
  #3 (permalink)  
Antiguo 09/05/2003, 03:07
 
Fecha de Ingreso: mayo-2003
Mensajes: 2
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias por responder. Pero asi no funciona lo que yo quiero.
Lo que quiero hacer es poder llamar desde el primer .js a una función del segundo .js por lo que incluir los en el .htm no me sirve de nada :(.
  #4 (permalink)  
Antiguo 09/05/2003, 04:21
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
cómo que no?
incluyes el llamado antes que el llamador!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 09/05/2003, 12:45
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Orod:
Esto me funciona a mí:

en el primer archivo js (archivo1.js):

Código:
//codigo
//codigo
//codigo
//llamo al segundo js (archivo2.js)

document.write("<SCR" + "IPT LANGUAGE='JavaScript'
SRC='archivo2.js' TYPE='text/javascript'><\/SCR" + "IPT>");
Espero que esto te ayude.
Saludos.
  #6 (permalink)  
Antiguo 07/08/2008, 11:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Incluir .js dentro de otro .js

Hola!!...tengo el mismo problema que dió inicio a esta consulta, utilicé la respuesta pero no funicionó:

El detalle de mi problema es:

En mi página invoco a un js (primer.js), y en este debo incluir una llamada a una función que está en otro js (segundo.js), entonces lo que hago es:

Página:
<script type="text/javascript" src="/Ruta/primer.js"></script>

Primerjs:

document.write("<script type='text/javascript' src='Ruta2/segundo.js'></script>");

funcionDelSegundoJs(); (llamado a funcion que está en segundo.js)

functionAdel1erJs(){}

functionBdel1erJs(){}


Segundojs:
funcionDelSegundoJs() {
Bla, bla;
}

En el document.write he probado también con lo sgte, pero tampoco funciona:

a) var IrArchivo = "Ruta/segundo"+".js";
document.write("<script src='+IrArchivo+'></script>");

b) var IrArchivo = "Ruta/segundo.js";
document.write("<script src='+IrArchivo+'></script>");



Alguien me puede ayudar?.
Muchas gracias.
  #7 (permalink)  
Antiguo 07/08/2008, 11:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Incluir .js dentro de otro .js

¿Probaste con lo que dijo JavierB?. Incluye primero el segundo *.js y después, el primero desde donde llamas a la función.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 07/08/2008, 11:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Incluir .js dentro de otro .js

No, pues esa solución no me sirve...necesito que desde el primer Js se llame a una función que está en el segundo js, tal y como lo expliqué anteriormente.

Saludos.
  #9 (permalink)  
Antiguo 07/08/2008, 11:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Incluir .js dentro de otro .js

Pero si incluyes el segundo js primero, claro que vas a poder llamar a la función que está en el segundo js...

Intenta primero, para después comentar si te funcionó o no.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 07/08/2008, 12:12
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Incluir .js dentro de otro .js

David:
Sé que eso obviamente funciona, dije No, pues no va por ahí mi solución porque tengo muuuuuuchas páginas que requieren utlizar funciones del segundo.js, éste a su vez puede cambiar de servidor cada cierto tiempo, entonces para evitar tener que modificar todas las páginas cada vez que cambie, sólo quiero cambiar el primer.js....hay otras razones además de la indicada....es por ello que requiero que la página sólo invoque al js "indexador" y éste al segundo.js que tienen las "x" funciones.

Se entiende?...espero que si...

Agradezco su ayuda.

Saludos.
  #11 (permalink)  
Antiguo 07/08/2008, 12:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Incluir .js dentro de otro .js

¿Tienes certeza que estás poniendo el document.write() antes de llamar a la función?. ¿Has comprobado que estás colocando la ruta correcta al segundo *.js?.

Porque yo he probado y funciona.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 07/08/2008, 13:38
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Incluir .js dentro de otro .js

Sean uno.js y dos.js.

Código:
Si (uno.js necesita llamar a dos.js, pero dos.js no necesita llamar a uno.js) entonces
    primero pones dos.js y luego uno.js
else Si (dos.js necesita llamar a uno.js, pero uno.js no necesita llamar a dos.js) entonces
    primero poner uno.js y luego dos.js
else Si (dos.js necesita llamar a uno.js, y uno.js también necesita llamar a dos.js) entonces
    reorganizas uno.js y dos.js de modo que las funciones que no pueden funcionar por separado vayan en el mismo fichero.
La tercera posibilidad lo que quiere decir es básicamente, que si tienes dependencias tan fuertes, entonces no debes separarlo en distintos ficheros. Si siempre los vas a tener que incluir los dos de todos modos, es mejor que estén en un único fichero. Da iugual que una parte cambie y la otra no. Claramente si hay una dpendencia tan fuerte, deben ir juntos.
  #13 (permalink)  
Antiguo 07/08/2008, 14:45
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Incluir .js dentro de otro .js

Hola

Prueba con esto, que es muy sencillo y comentas si funcionó

js.html

Código PHP:
<html>
<
head>
<
script type="text/javascript" src="js2.js"></script>
</head>
<body>
<table bgcolor="#ffffff" border="0" cellspadding="0px" cellspacing="1px" width="550px">
<tr>
<td class="foro_ini_seccion" height="30px">
<a style="float:right" href="#" onclick="recoge_despliega('datos_globales');return false"><img id="datos_globales" width="11px" height="12px" src="./imagen.gif" border="0" /></a> 
Datos Globales de Mensajes Internos</td>
</tr>
<tbody id="muestra_ocultaobj_datos_globales" style="">
<tr>
<td class="fuentepeq">
Bandeja de Entrada:
<strong>10</strong>
<br />
Bandeja de Salida:
<strong>32</strong>
<br />
Total de Mensajes almacenados: <strong>42</strong> de un total de 50 permitidos<br />
</td>
</tr>
</table>
</body>
</html> 
js1.js

Código PHP:
var ns6 = (document.getElementById)? true:false
var ie4 = (document.all)? true:false
var ns4 = (document.layers)? true:false
function captura_objeto(idnombre) {
    if (
ns6)
    {
    return 
document.getElementById(idnombre);
    }
    else if (
ie4)
    {
    return 
document.all[idnombre];
    }
    else if (
ns4)
    {
    return 
document.layers[idnombre];
    }
    else
    {
    return 
null;
    }

js2.js

Código PHP:
document.write("<script type='text/javascript' src='js1.js'></script>"); 

function 
recoge_despliega(objid) {
obj captura_objeto('muestra_ocultaobj_' objid);
img captura_objeto('muestra_ocultaimg_' objid);
cel captura_objeto('muestra_ocultacel_' objid);
    if (
obj) {
    
obj.style.display = (obj.style.display == 'none') ? "block" "none";
    }
    if (
img) {
    
img.style.display = (img.style.display == 'none') ? "block" "none";
    }
    if (
cel) {
    
cel.style.display = (cel.style.display == 'none') ? "block" "none";           
    }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #14 (permalink)  
Antiguo 07/08/2008, 15:12
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: Incluir .js dentro de otro .js

Otra manera: en el archivo que necesitás que cargue primero, agregás estas líneas:
Código PHP:
var include=function(){
    return function(
Src){
        var 
sc=document.createElement('script');
        
sc.type='text/javascript';
        
sc.src=Src;
        
document.getElementsByTagName('body')[0].appendChild(sc);
        
sc=null;
    }
}();
window.onload=function(){
include(
'1.js');//llamada al segundo archivo

  #15 (permalink)  
Antiguo 07/08/2008, 21:51
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Incluir .js dentro de otro .js

MMM... cuando usas un docuemnto javascript puedes llamar una funcion incluso antes de ser declarada, de modo que:

Código PHP:
funcionFantasma();

function 
funcionFantasma(){
     
//codigo de la funcion

es totalmente correcto, sin embargo no es lo mismo cuando haces una llamada a una función que esta dentro de otro js. El js en el que está contenida la función debe estar totalmente cargado antes de que el js de donde se llama la función haga la llamada a la función. Me parece que la solución que presenta panino puede funcionar pero todo depende de como se haga la llamada a la función y de la estructura del js.
__________________
twitter: @imbuzu
  #16 (permalink)  
Antiguo 11/08/2008, 12:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Incluir .js dentro de otro .js

Gracias: utilicé la indicación de Panino5001, y funcionó.

Saludos.
  #17 (permalink)  
Antiguo 11/08/2008, 17:26
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Incluir .js dentro de otro .js

Bien.. que bueno que hayas resuelto el problema. Espero que tambien haya entendido como es que funciona la inclusión de archivos js desde otros js.
__________________
twitter: @imbuzu
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:32.