Foros del Web » Programando para Internet » Javascript »

Recargar etiqueta <script>

Estas en el tema de Recargar etiqueta <script> en el foro de Javascript en Foros del Web. Hola a todos, tengo el siguiente código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function load_hive ( ) {     document. getElementById ( 'hiveContainer' ...
  #1 (permalink)  
Antiguo 15/06/2011, 14:59
zant95
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Recargar etiqueta <script>

Hola a todos, tengo el siguiente código:

Código Javascript:
Ver original
  1. function load_hive(){
  2.     document.getElementById('hiveContainer').innerHTML = null;
  3.     var hiveURL = document.getElementById('hiveURL').value;
  4.     var script = document.createElement('script');
  5.     script.setAttribute('type','text/javascript'),
  6.     script.setAttribute('src',hiveURL);
  7.     document.getElementById('hiveContainer').appendChild(script);
  8.     setInterval('load_hive()', 5000);
  9. }

Lo que hace la función load_hive() cuando se activa es cargar un archivo javascript externo el cual se debe cargar otra vez cada 5seg.
Todo eso es por si las variables de ese javascript externo han cambiado (es un archivo generado por PHP).
El problema es que cuando se carga un script este queda almacenado y para optimizar no se vuelve a bajar.

¿Cómo podría obligar a que ese código cargado se borrase para volverlo a cargar?

Como podeis apreciar cuando se invoca la función lo primero que hace es borrar la etiqueta <script> cargada la vez anterior, pero aún así sigue cargando el mismo código inicial aunque en el origen haya cambiado, porque como ya dije antes para optimizar no vuelve a bajar el mismo archivo.

PD: sé que hay otras formas de comunicarse con PHP, pero creedme, para lo que necesito debe ser así...

Saludos.
  #2 (permalink)  
Antiguo 15/06/2011, 15:34
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Recargar etiqueta <script>

Te recomiendo que tengas el script previamente cargado en el HTML para no tener que andar borrando/creando tags script con DOM. Así, en la función sólo tienes que cambiar el src del script:
Código Javascript:
Ver original
  1. // script es una referencia al tag script
  2. var num = script.src.replace(/\?recarga=(\d+)/, '$1');
  3. scrip.src = script.src.replace(/\?.+/, '') + '?recarga=' + (++num);
Y el HTML:
Código HTML:
Ver original
  1. <script type='text/javascript' src='script.js?recarga=0'></script>
Creo que esto debería servir.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 15/06/2011, 23:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Recargar etiqueta <script>

Ajax a las patadas?

Código Javascript:
Ver original
  1. setInterval(function(){
  2. $.get('codigo.js', function(data) {
  3.       alert(data);
  4.     });
  5. },5000)

http://api.jquery.com/jQuery.ajax/
  #4 (permalink)  
Antiguo 17/06/2011, 02:09
zant95
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recargar etiqueta <script>

Pero si hago esto solo consigo cargar los valores primarios, después aunque cambie el JS no se actualizan las variables, porque al ser el mismo src no se vuelve a descargar.

De todas formas gracias, me ha ayudado a sintetizar el código.

Etiquetas: etiqueta, recargar
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:25.