我有一個鏈接看起來像這樣(這是一個有點難看,因爲它是URL)帶方括號的編碼網址。在Chrome /火狐/ IE不同的行爲
<a href="/items?fc%5B%5D=12345&fc%5B%5D=56789&utf8=%E2%9C%93">foo</a>
是有點清楚,這是URL編碼並轉化爲
<a href="/items?fc[]=12345&fc[]=56789&utf8=✓">foo</a>
當表單提交,目標URL看起來在不同的瀏覽器不同:
在Firefox中,它看起來像期望:
http://mydomain/items?fc[]=12345&fc[]=56789&utf8=✓
在Chrome中,方括號中顯示URL編碼,(當使用其中不乏這給很醜陋和不專業的地址)。
http://mydomain/items?fc%5B%5D=12345&fc%5B%5D=56789&utf8=✓
在IE9(及以上)一切都顯示URL編碼:
http://mydomain/items?fc%5B%5D=12345&fc%5B%5D=56789&utf8=%E2%9C%93
我可以用 「UTF8 = ...」 的部分生活,因爲這只是一個問題,在IE瀏覽器。 但是,當方括號顯式輸入到URL中時,瀏覽器都沒有任何問題,所以我不明白爲什麼Chrome和IE,而不是Firefox必須使用URL編碼顯示括號。
由於表單的HTML代碼在所有瀏覽器一樣,我想這是與瀏覽器做的,而不是與網站(一個Ruby on Rails的網站在這種情況下)
編輯: 所以要澄清我的實際問題: 爲什麼這是不同的? 有沒有辦法讓它至少在Chrome中看起來不錯? 它可以通過在href =「...」中的URL轉義來修復,但我認爲這是針對URL編碼規則的?
那麼你的問題是什麼?它的醜陋? –
是:) 我已經澄清了一些問題! – foolo
你認爲發佈結果? –