在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
我的问题是我应该以开发人员的身份做些什么?事实上,我需要做什么吗?
答案 0 :(得分:2)
这仅适用于Firefox向用户显示的URL字段,而不是实际发出的请求。
如果您在Windows 7上查看Firefox 7中的请求,您会看到空格得到URL编码:
答案 1 :(得分:1)
我认为这只是Firefox显示网址的方式。
我也注意到它从URL中删除了http://,但是当您复制URL并将其粘贴到IE或记事本中时,http://就在那里。
所以我认为你不需要做任何事情,只是Firefox试图让URL更容易阅读。