Estoy tratando de eliminar la codificación URI de un enlace, pero decodeURI no parece estar funcionando del todo.decodeURI no funciona completamente
enlace Mi ejemplo es la siguiente: /linkout?remoteUrl=http%253a%252f%252fsandbox.yoyogames.com%252fgames%252f171985-h-a-m-heroic-armies-marching
Después de ejecutar la secuencia de comandos JavaScript, que se ve así:
http%3a%2f%2fsandbox.yoyogames.com%2fgames%2f171985-h-a-m-heroic-armies-marching
¿Cómo puedo deshacerme de los restantes códigos no correctas en el URI?
Mi código de decodificación:
var href = $(this).attr('href'); // get the href
var href = decodeURI(href.substring(19)); // remove the outgoing part and remove the escaping
$(this).attr('href', 'http://'+href) // change link on page
use decodeURIComponent() en su lugar – dano
Tenga en cuenta también que construir el objeto "$ (this)" dos veces en un solo pase de ejecución no es una buena idea, así que en caché una vez al principio de la función y utilizando el objeto en caché cuando sea requerido –
'$ (this) .attr ('href')' es solo una forma más lenta y larga de escribir 'this.href'. – RobG