Firefox奇怪的单引号在网址中转换

时间:2011-05-04 13:50:14

标签: javascript firefox url-encoding

有人知道为什么FF会将单引号'编码为%27吗?

单引号应该是URL中的有效字符。 实际上所有其他浏览器IE7 / IE8 / Chrome5 / Safari4都可以通过NOT编码单引号进入%27。

这是一个FF错误,还是我错过了什么?

我正在使用FF3.6.1进行测试

为了便于测试,只需在yourpage.html

中添加即可
<script type="text/javascript">
    window.alert("this url = " + window.location.href);
</script>

然后转到yourpage.html?test=quote'encoded

FF不会替换地址栏中的网址,但会显示:

yourpage.html?test=quote%27encoded

所有其他浏览器都会显示

yourpage.html?test=quote'encoded

谢谢!

1 个答案:

答案 0 :(得分:4)

Firefox 4(在Ubuntu上)也逃脱了单引号。

Chromium 11.0.696.57和Google Chrome 12.0.742.16都没有!

但是,应该注意所有字符可以进行编码。 url-encode A是合法的,如果有人希望并且应该完全等同于直接在您的网址中使用A,那么您的代码应该能够同时处理版本

来自RFC 1738

  

另一方面,不需要编码的字符      (包括字母数字)可以在特定方案内编码      URL的一部分,只要它们不用于保留      目的