webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
虚拟主机 域名注册

首页 >> WebDN 技术文档 >> Html教程 >> Page 7 >> 打开新窗口保留referrer的完整解决办法
 

打开新窗口保留referrer的完整解决办法

[摘 要]


本篇讲述打开新窗口保留referrer的完整解决办法的文章主题。

我们通常的需要打开新窗口的时候,会采用下面三者之一:(我不知道是否还有其他方法)

1.通过链接打开新的页面
<a href="http://www.webdn.com" target="_blank">Open a new window</a>

2.通过JavaScript的window.open()函数打开新的窗口
<script>
window.open("http://www.webdn.com");
</script>

3.通过Form表单提交到新的页面
<form action="http://www.webdn.com" target="_blank">
Open a new window
</form>

有的时候,我们不但要打开新窗口,而且还想让打开的新窗口有referrer信息,以便统计来路。

通过实验发现:在firefox浏览器下,上面的三种方式在新窗口中都可以顺利的保留referrer,而在IE浏览器下,第二种方式不能保留referrer。

在某种应用场合下,例如在打开窗口前需要做一些数据验证操作等的时候,不允许我们使用链接来打开新窗口,而必须使用JavaScript来打开新窗口,这时候如果还需要保留referrer,经过实验只能使用下面的方式:

<font onclick="Go('http://www.webdn.com')">Go</font>
<form name=JumpForm id=JumpForm action="" target="_blank" Method=Post>
</form>
<script>
function Go(url){
var form = document.getElementById("JumpForm");
form.action=url;
form.submit();
}
</script>

有的时候,需要跳转的URL是需要参数的,形如:
http://www.webdn.com/blog/index.php?op=ViewArticle&articleId=193&blogId=1

这时如果使用Form表单的Get方式提交,将会造成URL携带的参数无法传送过去,只能使用Post方式提交,所以上面的程序使用Post方式提交表单。

这样:既可以打开新窗口,又可以保留referrer的完整解决办法出炉了。



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号