js完整程式碼: var refer=document.referrer;
document.getElementById('backurl').value=refer;
「HTTP_REFERER」
連結到目前頁面的前一頁的網址。不是所有的用戶代理(瀏覽器)都會設定這個變量,而且有的還可以手動修改 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就能保留了。 所以我們的根據不同瀏覽器的不同情況,必須的考慮完整,讓程式碼變得強壯。