window.location.hash在firefox下中文自动转码为UTF-8问题

1.window.location.hashjavascript

  window.location.hash这个属性主要是读取和写入网页位置的,咱们常常会用来控制网页单页面跳转或者是控制网页位置。然而这个属性在firefox下遇到中文时却会被自动转码为UTF-8,这是火狐等类似浏览器对中文url的一些处理的不一样。如下介绍一个方法能够fixed掉这个问题。java

 

2.解码函数浏览器

  前面已经提到,firefox喜欢帮咱们把中文转换成utf-8的编码格式,那么咱们只用使用合适的解码函数对其解码皆可。函数

      javascript中有三个编码函数escape,encodeURI,encodeURIComponent,而其对应相应解码函数分别为:unescape,decodeURI,decodeURIComponent。编码

  由于其只会匹配相应编码的字符串,因此咱们能够大胆的使用解码函数,不用担忧未编码的字符串解码出奇怪的数据。url

  只需作以下处理便能解决这个问题:firefox

  

var hash =decodeURIComponent(window.location.hash);
相关文章
相关标签/搜索