Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2010, 09:35
GrupoC
 
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.