通過document.referrer判斷頁面是鏈接調整還是新打開以及來源

業務需求:

1、複製鏈接或者QQ中在瀏覽器中新打開的鏈接,點擊“返回”跳轉到列表頁;

2、從列表頁鏈接調整進的店“返回”執行瀏覽器的“返回”動作,好處是能直接定位到列表頁上次瀏覽的位置。

function ClickBack(){
				if(document.referrer==""||document.referrer.indexOf("cases")==-1){
					//返回到案例列表
					window.location.href='/cases/';
					}else{
							history.back();
						}
			}


若新打開的頁面document.referrer值即爲“”


兼容性測試:



操作 IE6 IE7 IE8 IE9 Firefox Chrome Opera Safari
直接在地址欄輸入URL “” “” “” “” “” “” “” “”
從書籤訪問URL “” “” “” “” “” “” “” “”
從頁面A點擊超鏈接,跳轉到頁面B(target=”_self”)
從頁面A點擊超鏈接,跳轉到頁面B(target=”_blank”)
從頁面A右鍵單擊超鏈接,在新標籤頁中打開頁面B - “”
從頁面A右鍵單擊超鏈接,在新窗口中打開頁面B “”
拖動鏈接到地址欄 “” 無法拖動 無法拖動 “” “” “” “” “”
拖動鏈接到標籤欄 - “” “” “” “” “” “” “”
使用瀏覽器的前進、後退按鈕
JS 修改 location.href “” “” “”
JS 使用 window.open “” “” “” “”
服務器重定向(302跳轉) 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面
頁面 Meta Refresh “” “” “” “” “” 轉向頁 轉向頁 轉向頁

上表中的“√”表示能正常取到 referrer,”” 表示 referrer 爲空。

測試結果來自網絡,作者不詳,感謝分享。


操作 IE6 IE7 IE8 IE9 Firefox Chrome Opera Safari
直接在地址欄輸入URL “” “” “” “” “” “” “” “”
從書籤訪問URL “” “” “” “” “” “” “” “”
從頁面A點擊超鏈接,跳轉到頁面B(target=”_self”)
從頁面A點擊超鏈接,跳轉到頁面B(target=”_blank”)
從頁面A右鍵單擊超鏈接,在新標籤頁中打開頁面B - “”
從頁面A右鍵單擊超鏈接,在新窗口中打開頁面B “”
拖動鏈接到地址欄 “” 無法拖動 無法拖動 “” “” “” “” “”
拖動鏈接到標籤欄 - “” “” “” “” “” “” “”
使用瀏覽器的前進、後退按鈕
JS 修改 location.href “” “” “”
JS 使用 window.open “” “” “” “”
服務器重定向(302跳轉) 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面 定向之前的頁面
頁面 Meta Refresh “” “” “” “” “” 轉向頁 轉向頁 轉向頁

上表中的“√”表示能正常取到 referrer,”” 表示 referrer 爲空。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章