Firefox 7中URI中的空格

时间:2011-11-07 10:52:50

标签: javascript firefox uri url-encoding

在Firefox 7.0.1版中,带有编码空格的URI会自动转换为位置栏中的空格。

在Internet Explorer中不会发生这种情况。

例如,我在页面上有一个文本框,其内容为“Test Test”。我有一个javascript函数,使用encodeURIComponent()重新加载带有文本框编码内容的页面。

Internet Explorer生成:

http://host/page.php?box=Test%20Test

Firefox 7.0.1生成:

http://host/page.php?box=Test Test

在Firefox中警告出encodeURIComponent的结果时,空间被正确转义为%20。

似乎Firefox正在做一些从URI中删除编码的事情。这会导致URI不符合RFC2396

我的问题是我应该以开发人员的身份做些什么?事实上,我需要做什么吗?

2 个答案:

答案 0 :(得分:2)

这仅适用于Firefox向用户显示的URL字段,而不是实际发出的请求。

如果您在Windows 7上查看Firefox 7中的请求,您会看到空格得到URL编码:

enter image description here

答案 1 :(得分:1)

我认为这只是Firefox显示网址的方式。

我也注意到它从URL中删除了http://,但是当您复制URL并将其粘贴到IE或记事本中时,http://就在那里。

所以我认为你不需要做任何事情,只是Firefox试图让URL更容易阅读。