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);
相關文章
相關標籤/搜索