我正在使用jQuery 1.4.3和BBQ插件来处理历史记录和哈希。
当我用该字符串更新哈希
“列表=餐馆&搜索[省] = 1&搜索[main_food] = 2”
网址栏显示
“列表=餐厅&搜索%5Bprovince%5D = 1&搜索%5Bmain_food%5D = 2”
丑陋。
有没有办法像Firefox一样显示它的好看?
谢谢
最佳答案
字符[
和]
绝对不能出现在fragment of a URI中。这是对应的ABNF for URI (RFC 3986):
fragment = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded = "%" HEXDIG HEXDIG
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
未列出她的任何字符都必须使用百分比编码进行编码。因此Chrome的行为是正确的。但是我想Firefox仅显示由
%5B
和%5D
表示的字符。这取决于浏览器。