我正在使用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表示的字符。这取决于浏览器。

10-06 16:00