我使用 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
代表的字符。这取决于浏览器。
关于jquery - 使用 chrome/chromium 时,url 哈希中的括号显示为 %5b 不管怎样%5D。使用 Firefox [无论如何]。有什么办法可以修复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187764/