我們通常的需要打開新窗口的時候,會采用下面三者之一:(我不知道是否還有其他方法)
1.通過鏈接打開新的頁面
<a href="</a>
3.通過Form表單提交到新的頁面
<form action="Open a new window
</form>
有的時候,我們不但要打開新窗口,而且還想讓打開的新窗口有referrer信息,以便統計來路。
通過實驗發現:在Firefox瀏覽器下,上面的三種方式在新窗口中都可以順利的保留referrer,而在IE瀏覽器下,第二種方式不能保留referrer。
在某種應用場合下,例如在打開窗口前需要做一些數據驗證操作等的時候,不允許我們使用鏈接來打開新窗口,而必須使用Javascript來打開新窗口,這時候如果還需要保留referrer,經過實驗只能使用下面的方式:
<font onclick="Go('http://www.simplelife.cn')">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.simplelife.cn/blog/index.php?op=ViewArticle&articleId=193&blogId=1
這時如果使用Form表單的Get方式提交,將會造成URL攜帶的參數無法傳送過去,只能使用Post方式提交,所以上面的程序使用Post方式提交表單。
這樣:既可以打開新窗口,又可以保留referrer的完整解決辦法出爐了。
新聞熱點
疑難解答