我在 Firefox 和 IE 之间感到沮丧,主要是 Firefox,因为它会自动解码散列中的参数,然后我才能在 Javascript 中使用它。IE 不会自动解码 url,因此不会给我阅读错误。
我的问题类似于这个问题,除了我没有使用 ASP.NET ASP.NET MVC 自动解码来自 AJAX 的 JSON 编码参数
因此,如果我采用类似的网址example.com/#question=!%40%23%24%25^%26*(
而“!%40%23%24%25^%26*(”是使用encodeURIComponent编码的,在IE中,当我访问哈希时,它将保留为“!%40%23%24%25^%26*( ",但是在 Firefox 中,当我访问哈希时,它会自动解码为 "!@#$%^&*("
这样做的问题是,在我的脚本中,我使用 decodeURIComponent 来解码编码值,如果字符串确实被编码,这很好。由于它已经在 Firefox 中解码,它给我一个格式错误的 URI 序列错误,而 IE 根本没有给我任何错误。
我怎样才能解决这个问题?