IE中使用window.open打开新窗口时无法获取Referrer对象
在IE中,当你使用javascript的window.open方法来打开一个新的对象的时候,IE并不会自动帮你传递Referrer对象到新的窗口的,也就是说你在新窗口中使用javascript读取document.Referrer对象时只会读到空值。而且后台在HTTP请求头中也不会包含Referrer头的。例如
<a href="javascript:window.open('newurl.php?' + urlencode (document.location.toString()),'','height=200,width=150');">click here</a>
如果是我们自己做的站点,那么我们最好使用target属性来规避这个问题。如下
<a href="newurl.php" target="_blank">click here</a>
如果打算在javascript中处理Referrer信息,那么还可以通过下面的方法来获取Referrer信息
var ReferringUrl = ""; if (document.referrer) ReferringUrl = document.referrer.toString(); if (window.opener && window.opener.location) ReferringUrl = window.opener.location.toString();
如果后台代码也需要访问Referrer信息,并且必须得使用window.open方法时,那么可以将Referrer的信息作为querystring的一部分来传递
<a href="javascript:window.open('newurl.php?' + urlencode (document.location.toString()),'','height=200,width=150');">click here</a>
你可能对下面的文章感兴趣
本博客遵循CC协议2.5,即署名-非商业性使用-相同方式共享
写作很辛苦,转载请注明作者以及原文链接~
如果你喜欢我的文章,你可以订阅我的博客:-D点击订阅我的文章










最新评论
@Kevin Yang 3G上网不要钱的 但是推送就没办法了 TOT
我都没绑定信用卡他怎么扣我的钱呢?3G流量本身不收费的好像, 但是如果用到了亚马逊的特定服务是要收费的,例如订阅免费的书刊 杂志。如果是你自己给自己推送的那么是不用收费的。
3g是要钱的…
精彩,睇书睇微软都唔够清楚,睇你的文档,一次就懂,好文好文
讲的很详细,就是有点儿长了,回去试一下