js完整代碼: 復制代碼 代碼如下:
<script language="javascript">
var refer=document.referrer;
document.getElementById('backurl').value=refer;
</script>
“HTTP_REFERER” 鏈接到當前頁面的前一頁面的 URL 地址。不是所有的用戶代理(浏覽器)都會設置這個變量,而且有的還可以手工修改 HTTP_REFERER。因此,這個變量不總是真實正確的。
注意 document.referrer; 和“HTTP_REFERER” 中間差一個字母,卻是不同的概念的東東,請注意使用
js中的referrer使用,返回上一頁 在js中寫上location.href = document.referrer;就可以實現跳轉到上一個頁面了,讓用戶覺得體驗很好
但是在IE中referrer就沒那麼盡人意了啊,IE會清空referrer
眾所周知,我們web開發人員痛恨IE浏覽器,因為IE不支持標准,標准外的默認行為又和其他浏覽器經常不一致:
在IE中用javascript做跳轉,比如用window.location.href = “http://www.google.com”; google無法取到浏覽器請求的HTTP referrer,因為IE清空了document.referrer
而其他主流浏覽器Firefox和Chrome都會保留referrer,這意味著IE又要享受“部長級”特殊待遇了:
復制代碼 代碼如下:
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
var referLink = document.createElement('a');
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}else {
location.href = url;
}
這樣的原理就是給IE浏覽器的頁面偷偷加了個鏈接,然後自動點這個鏈接,於是referrer就能保留了。
所以我們的根據不同浏覽器的不同情況,必須的考慮完整,讓代碼變得強壯。