Foros del Web » Programando para Internet » Javascript »

Pasar valor a archivo js

Estas en el tema de Pasar valor a archivo js en el foro de Javascript en Foros del Web. Tengo que llamar un archivo con la siguiente linea en una pagina @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < script type = "text/javascript" src = ...
  #1 (permalink)  
Antiguo 18/08/2012, 03:42
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 1
Pasar valor a archivo js

Tengo que llamar un archivo con la siguiente linea en una pagina

Código HTML:
Ver original
  1. <script type="text/javascript" src="js/custom.js?ide='dato'"></script>

y lo que quiero es poder usar la variable en el archivo custom.js

alguien me podria ayudar en como hacerlo

Saludos y muchas gracias
  #2 (permalink)  
Antiguo 18/08/2012, 03:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Pasar valor a archivo js

Hola:

Nunca lo he visto en un archivo js, pero yo lo he hecho con extensión php... de todos modos, puedes definir la variable que quieres usar en otra sección script antes de la del fichero, y como la carga/lectura suele ser secuencial, sería utilizable, que es lo que importa.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 18/08/2012, 04:30
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Pasar valor a archivo js

Las variables GET se procesan mediante PHP.

Modifica el htaccess o las directivas de núcleo de Apache redirigiendo los js a un PHP que los procese.

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #4 (permalink)  
Antiguo 18/08/2012, 10:29
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Pasar valor a archivo js

Para procesar archivos js (ó css) como php, tenés 2 opciones básicas, la primera y más complicada es renombrar tus archivos como php, en ese caso, la estructura correcta de tu archivo debe ser

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/javascript;charset=utf-8");
  3. ?>
  4. /// el resto de tu script
  5. function x(){
  6. alert('hola');
  7. }

Si tuvieses que pasar parámetros x get

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/javascript;charset=utf-8");
  3. ?>
  4. /// el resto de tu script
  5. function x(){
  6. var a = '<?php echo $_GET['variable']; ?>';
  7. alert(a);
  8. }

Esto puede mejorarse, agregando compresión gzip

Código PHP:
Ver original
  1. <?php
  2. header("Content-Type: text/javascript;charset=utf-8");
  3. ob_start("ob_gzhandler");
  4. ?>
  5. /// el resto de tu script
  6. function x(){
  7. var a = '<?php echo $_GET['variable']; ?>';
  8. alert(a);
  9. }

Y finalmente, si necesitás cachear el archivo

Código PHP:
Ver original
  1. <?php
  2. $archivo = $_SERVER['SCRIPT_FILENAME'];
  3. $expira = 60 * 60 * 24 * 365;
  4. $ExpStr = "Expires:" . gmdate("D,d M Y H:i:s",time() + $expira) . " GMT";
  5. $ft = filemtime($archivo);
  6. $time = time() - $ft;
  7. $eTag = "ci-".md5($archivo.$ft);
  8. header("Content-Type: text/javascript;charset=utf-8");
  9. header("Cache-Control: public, max-age=$expira");
  10. header($ExpStr);
  11. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $ft).' GMT');
  12. header('ETag: "'.$eTag.'"');
  13. ob_start("ob_gzhandler");
  14. ?>
  15. /// el resto de tu script
  16. function x(){
  17. var a = '<?php echo $_GET['variable']; ?>';
  18. alert(a);
  19. }
Para los css la técinca es similar salvo que el content-type debe se text/css

La otra alternativa, puede resultar más simple o no, dependiendo de como esté configurado el php en tu apache
Si está como modulo, dejás los js y css como están, y en tu .htaccess pones
AddType application/x-httpd-php .js .css

Si tu php está instalado como cgi ó FastCgi, tendrás que ir al panel de control de tu server,y, aunque la opción no esta siempre disponible, habilitar los handlers necesarios para que las extensiones js y css sean procesadas como php
Una vez conseguido esto, la compresión y el cacheado los podés conseguir activando mod_deflate y los headers apropiados.

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 18/08/2012, 12:24
Avatar de utan  
Fecha de Ingreso: agosto-2012
Mensajes: 126
Antigüedad: 11 años, 8 meses
Puntos: 17
Respuesta: Pasar valor a archivo js

Hola,

No necitas hacer mayor cosa..

Código Javascript:
Ver original
  1. <script type="text/javascript" src="js/custom.js.php'"></script>

todo lo que es javascript externo es texto, lo que php hace es procesar texto todo lo que pase despues del echo es texto..

archivo js externo

Código PHP:
Ver original
  1. /*
  2.  * si tienes funciones que quieres tenerlas en este archivo js entonces requierelas
  3.  * en este tenemos una funcion de ejemplo: functionPHP();
  4.  */
  5.  
  6. <?php require_once('funciones'); ?>
  7.  
  8. function isjavascript (){
  9.  
  10.      console.log(<?php echo functionPHP(); ?>);
  11.      
  12. }

Y ya.. no necesitas hacer nada del lado del servidor.. en lo absoluto... al requerirla con el script tag efectivamente estas indicando que todo el texto dentro de este archivo javascript es javascript..
__________________
Mis conocimientos son limitado, pero si te puedo ayudar lo are gustoso mi chat particular, visitalo gracias http://rendezvouschat.com
  #6 (permalink)  
Antiguo 18/08/2012, 14:15
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Pasar valor a archivo js

si es necesario, el mime/type para php es por defecto text/html
Con javascript te puede llegar a generar errores imprevisibles , los css directamente no te los va a reconocer

La correcto es utilizar el content-type apropiado
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 21/08/2012, 00:37
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Pasar valor a archivo js

gracias por sus respuestas pero en realidad lo que quiero hacer sin importar que lenguaje sea php o asp es que puedas llamar desde un html un archivo js y pasarle una variable al mismo
  #8 (permalink)  
Antiguo 06/06/2016, 09:04
 
Fecha de Ingreso: junio-2016
Mensajes: 1
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: Pasar valor a archivo js

Una opción es usar cookies, puedes guardar el valor php en una cookie y recobrarla con javascript, las cookies son elementos que ambos lenguajes pueden manipular
  #9 (permalink)  
Antiguo 06/06/2016, 09:58
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Pasar valor a archivo js

Otro despistado, @Omazon por favor pasa a leer las politicas del foro y por favor no vuelvas a revivir un tema antiguo, si te fijas en la fecha del ultimo comentario veras que la ultima actividad fue en el 2012.

Etiquetas: js
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:55.