我在Firefox和IE之間感到沮喪,主要是Firefox,因爲它會自動解碼散列中的參數,然後才能在Javascript中使用它。 IE不會自動解碼網址,因此不會給我閱讀錯誤。除了我,如果我拿一樣example.com/#question=!%40%23%24%25^%26*(
Firefox自動解碼URL中的編碼參數,不會發生在IE中
而「!%40%23%24%25 ^%的URL我不使用ASP.NET ASP.NET MVC automatically decoding JSON-encoded parameters from AJAX
所以
我的問題是與此類似26 *(「使用encodeURIComponent進行編碼,在IE中,當我訪問哈希時,它將被保留爲」!%40%23%24%25 ^%26 *(「,但是在firefox中,當我訪問哈希時它會自動解碼爲「!@#$%^ & *(」
這個問題是,在我的腳本中,我使用decodeURIComponent來解碼編碼值,w如果字符串確實被編碼了,那很好。由於它已經在Firefox中解碼,它給了我一個格式不正確的URI序列錯誤,IE並沒有給我任何錯誤。
我該如何解決這個問題?
非常感謝。我剛剛在Fx中遇到了同樣的問題(Chrome很好),而location.href.split(「#!」)[1]也適用於我。 – meloncholy 2011-05-11 13:08:59
似乎Firefox不會很快解決這個問題。自2002年以來他們一直在討論這個錯誤:(https://bugzilla.mozilla.org/show_bug.cgi?id = 135309和https://bugzilla.mozilla.org/show_bug.cgi?id=483304 – gregers 2014-05-12 09:57:29