是`document.referrer` url编码与否?

时间:2012-09-27 12:29:57

标签: javascript cross-browser url-encoding referrer

我写了一个小测试页面,用javascript抓取document.referrer个用户并将其发送到一个简单的日志服务器(如sendReferrer(document.referrer))。

Firefox发送的引荐来源始终是网址编码的,(例如,当引荐来源网址为www.google.com/search?q=时,“http://www.google.com/search?q=%C3%9C” Ü)

但是有些客户端(比如Win7上的IE9)在没有url-encoding的情况下发送网址(www.google.com/search?q=Ü)

document.referrer是否在所有浏览器中进行了网址编码?这是否可靠(任何标准的一部分)?

更新:在Firefox15 / Chrome21(在ubuntu上),document.referrer是网址编码的

2 个答案:

答案 0 :(得分:6)

document.referrer不是URL编码我最近在所有主流浏览器中对它进行了测试,并且它显示在每个浏览器中都是非编码的。

答案 1 :(得分:1)

我对此问题的最终答案:Referer可能/可能不会被编码!我的测试中有一些(只有一些!)IE发送未编码的引用(我猜它取决于客户端系统的语言环境)