Foros del Web » Programando para Internet » Javascript »

Javascript en internet explorer

Estas en el tema de Javascript en internet explorer en el foro de Javascript en Foros del Web. Hola, Tengo una aplicación en la que monto una URL desde javascript, añadiendo datos a la misma (variables GET). Me funciona en Mozilla Firefox, en ...
  #1 (permalink)  
Antiguo 03/11/2010, 09:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 5 meses
Puntos: 19
Javascript en internet explorer

Hola,

Tengo una aplicación en la que monto una URL desde javascript, añadiendo datos a la misma (variables GET).

Me funciona en Mozilla Firefox, en Opera, en Google Chrome y en Internet Explorer 8.

Pero en Internet Explorer 7 no... No he probado más versiones. Os dejo el código que monta la URL, por si véis algo que puede alterar a este "fantástico" explorador:

function BuscaInterrogante(texto) {
for(i=0;i<texto.length;i++) {
if(texto.charAt(i)=="?") return true;
}
return false
}

function montaURL(primeraParte,segundaParte) {
actual=document.URL;
hay_datos=BuscaInterrogante(actual);
if(hay_datos) {
posicion=actual.indexOf(primeraParte);
if(posicion==-1) {
actual=actual+"&"+primeraParte+segundaParte;
location.href=actual;
}
else {
posicioninicio=actual.indexOf(primeraParte)+1;
while(isNaN(actual[posicioninicio])) posicioninicio+=1;
posicionfinal=posicioninicio+1;
while(!isNaN(actual[posicionfinal])) posicionfinal+=1;
p1=actual.substring(0,posicioninicio);
p2=segundaParte;
p3=actual.substring(posicionfinal);
actual=p1+p2+p3;
location.href=actual;
}
}
else {
actual=actual+"?"+primeraParte+segundaParte;
location.href=actual;
}
}


Llamo a la función de la siguiente forma: <a href="montaURL('dato1=',2)"></a>

Mediante alerts, me he dado cuenta de que el error se produce en:
while(isNaN(actual[posicioninicio])) posicioninicio+=1;

No muestra mensaje de error, pero el script se queda en un bucle infinito, porque no hace nada, hasta que IE muestra un mensaje de "EL SCRIPT NO RESPONDE".

Si necesitáis más información, no dudéis en avisar.

Muchas gracias de antemano por vuestra ayuda.
  #2 (permalink)  
Antiguo 03/11/2010, 14:07
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Javascript en internet explorer

en el caso especial de IE7, y muchas otras versiones de IE es que requiere la declaración explicita de variables, es decir, que tienes que declarar todas las variables con var para que funcionen los scripts
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/11/2010, 14:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 5 meses
Puntos: 19
Respuesta: Javascript en internet explorer

Cita:
Iniciado por maycolalvarez Ver Mensaje
en el caso especial de IE7, y muchas otras versiones de IE es que requiere la declaración explicita de variables, es decir, que tienes que declarar todas las variables con var para que funcionen los scripts
Muchas gracias por tu ayuda. Mañana a primera hora lo pruebo.

Si tenéis alguna idea más, será bien recibida.

Un saludo.
  #4 (permalink)  
Antiguo 04/11/2010, 01:53
 
Fecha de Ingreso: noviembre-2009
Mensajes: 226
Antigüedad: 14 años, 5 meses
Puntos: 19
Respuesta: Javascript en internet explorer

Hola maycolalvarez,

No funciona tu propuesta. He declarado todas las variables explícitamente (var), pero no me funciona... ¿Alguna otra propuesta, por favor?

Muchas gracias.

Etiquetas: explorer, internet
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 15:29.