Tengo frustración entre Firefox e IE, bueno sobre todo Firefox ya que está decodificando automáticamente un parámetro en el hash antes de que pueda trabajar con él en Javascript. IE no decodifica automáticamente la url y no me da errores de lectura.Firefox decodifica automáticamente el parámetro codificado en url, no ocurre en IE
Mi problema es similar a éste, excepto que no estoy usando ASP.NET ASP.NET MVC automatically decoding JSON-encoded parameters from AJAX
Así que si tomo una URL como example.com/#question=!%40%23%24%25^%26*(
mientras que el "!% 40% 23% 24% 25%^26 * ("se codificó usando encodeURIComponent, en IE cuando accedo al hash quedará como"!% 40% 23% 24% 25 ^% 26 * (", sin embargo, en Firefox, cuando accedo al hash es automáticamente decodificado en "! @ # $%^& * ("
El problema con esto es que en mi script estoy usando decodeURIComponent para decodificar el valor codificado, w Esto está bien si la cadena está codificada. Dado que ya está decodificado en Firefox, me da un error de secuencia URI mal formado, y IE no me da ningún error en absoluto.
¿Cómo puedo solucionar esto?
Muchas gracias por esto. Me acabo de encontrar con el mismo problema en Fx (Chrome está bien) y location.href.split ("#!") [1] funcionó para mí también. – meloncholy
Parece que Firefox no solucionará esto pronto. Han estado discutiendo el error desde 2002 :(https://bugzilla.mozilla.org/show_bug.cgi?id = 135309 y https://bugzilla.mozilla.org/show_bug.cgi?id=483304 – gregers
Firefox está permitiendo "#" dentro de la cadena hash, por lo que puede ser más a prueba de balas para tan 'window.location.hash.split ("#"). empalme (1) .join ("#") '. – fourthnen