Tengo una variable de JavaScript comming de sistema heredado con barras invertidas en la barra normal:La conversión de barras diagonales inversas en barras diagonales mediante javascript no funciona correctamente?
'/46\465531_Thumbnail.jpg'
y estoy tratando de convertir en esto:
'/46/465531_Thumbnail.jpg'
.
No hay forma de solucionar el problema en el sistema heredado.
Este es el comando estoy corriendo en el navegador Internet Explorer 8:
javascript:alert("/46\465531_Thumbnail.jpg".replace(/\\/g,"/"));
como respuesta que se obtiene:
---------------------------
Message from webpage
---------------------------
/46&5531_Thumbnail.jpg
---------------------------
OK
---------------------------
actualmente sólo quieren ser traducido como '/46/465531_Thumbnail.jpg'
Lo que está mal ?
De hecho, lo entiendo. El problema es que no puedo manipular la cadena, así que no puedo modificar manualmente la barra inversa única y poner doble barra invertida. Estoy intentando hacer esto 'var test = escape ("/46 \ 465531_Thumbnail.jpg "); alerta (teste.replace ("% 26", '/')); ' –
¿Cómo está exactamente la cadena en la página? Si hay código de JavaScript en la página creado dinámicamente por el código de backend, y * no * usa "\\", entonces básicamente está hundido; el código generado simplemente se rompe. No podrá arreglarlo de manera confiable, porque no podrá distinguir un carácter "bueno" de uno que sea el resultado de una barra invertida desordenada. – Pointy
Sí, de hecho, la solución fue arreglar el código de backend que estaba ensuciando la barra invertida.Es imposible arreglarlo usando solo javascript. –