我在Firefox中只有一个奇怪的编码问题 我有一个HTML页面,字符集通过
设置为UTF-8 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
并且大多数链接仅更改url-hash。
有一个带有类型类型支持的表单,因此用户可以选择正确的值。 其中一些值包含'&amp;'字符。
在表单上调用.serialize()时,我会得到带有'&amp;'的查询字符串适当逃脱。
现在,当我更改url-hash时,IE和Chrome中的一切正常,但Firefox有一些问题。
FF显示'&amp;'当查看URL时,为'%26',但是使用Firebug检查参数时,我注意到它将其拆分为另一个参数。
网址:/#/Test/Index?query=foo&bar
Firefox会将URL显示为...?query = foo%26bar,但Firebug的参数列表会显示:
query foo
bar
而Chrome和IE开发工具都显示:
query foo&bar
我不太确定导致这种情况的原因,我几乎找不到任何使用谷歌的东西, 特别是因为它在URL中正确显示。
在更改URL哈希之前,我现在正在测试用户代理是否为FF
如果是这样,我将在整个查询字符串上使用encodeURIComponent()
,所以我得到类似的东西:
?query%3Dfoo%26bar
在FF中运行良好,但在其他任何浏览器中都不行。
所以我似乎可以选择“编码所有内容,它只适用于FF”和“不编码所有内容,它不会在FF中工作,而是其他所有内容”。