jquery - 使用 chrome/chromium 时,url 哈希中的括号显示为 %5b 不管怎样%5D。使用 Firefox [无论如何]。有什么办法可以修复吗?

标签 jquery google-chrome hash

我使用 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/

相关文章:

javascript - 当属性不存在时忽略 for 循环中的大小写

javascript - 在按钮上单击显示特定元素

jquery - 使用 CDN 是否会阻止 Intellisense 适用于 jQuery?

google-chrome - HTTP "Expires" header 在 Chrome 中不起作用

asp.net - 浏览器在本地主机加载时自动滚动到页面底部

python - 创建 |N| x |M|来自哈希表的矩阵

jquery-Flot 使用带有 % 宽度和高度的 <Div>

html - Chrome 是如何从 HTML 渲染 PDF 的呢?

c++ - std::hash 是否保证 "equal" float 的哈希值相等?

javascript - 删除 window.location.hash 中的外来字符和空白