教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 前端开发 > JS教程 >

window.open开新窗口时无法获取Referrer对象

时间:2012-03-29 16:04来源:未知 作者:ken 点击:

IE中,当你使用javascriptwindow.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> 
(责任编辑:ken)
TAG标签: ie JavaScript open Referrer 对象
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容