原帖地址:http://www.cnblogs.com/snandy/archive/2013/06/04/3116664.html
用一中文单词测试,比如“昌平” encodeURI后为“%E6%98%8C%E5%B9%B3”。
在各浏览器地址栏输入: http://start.firefoxchina.cn/#%E6%98%8C%E5%B9%B3
从控制台获取hash,各浏览器表现如下
Firefox21

Chrome27/Safari5

IE9/10/11

可以看见,只有Firefox中把#后的decodeURI了,这在Firefox的地址栏也可以看见。这应该是个bug,如果所有浏览器要保持一致(未decodeURI),使用以下代码
function getHash(location) {
var match = location.href.match(/#(.*)$/);
return match ? match[1] : '';
}
相关:
http://xueduany.github.io/KitJs/urlencode.html
本文通过测试中文单词“昌平”的URI编码在不同浏览器的表现情况,发现Firefox存在将#后的URI进行解码的问题,与其他浏览器行为不一致。为了统一浏览器间的行为,提供了一段获取未解码hash的JavaScript代码。
889

被折叠的 条评论
为什么被折叠?



