2012-12-01 65 views
-4

我正在開發一個新網站,它需要能夠檢測用戶是否曾經訪問過該網站,然後將它們引導至特定網址(即example.com/welcomeback.html)(如果有)。如何檢測回訪者並重定向到特定的URL?

我認爲這需要使用cookie和javascript來完成,但我無法在任何地方找到任何教程。

非常感謝您的幫助。謝謝。

+5

真的嗎?你沒有發現在任何地方寫/讀曲奇餅乾? – Sparky

+1

不是我能找到的。如果你可以共享任何你可能擁有的資源,那麼它比一個居高臨下的答覆更有幫助! – Usza

+5

@AlexeiLevenkov - 真的......你正在使用Bing?... –

回答

7
function setCookie(c_name,value,exdays) 
{ 
var exdate=new Date(); 
exdate.setDate(exdate.getDate() + exdays); 
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); 
document.cookie=c_name + "=" + c_value; 
} 

得到餅乾

function getCookie(c_name) 
{ 
    var i,x,y,ARRcookies=document.cookie.split(";"); 
    for (i=0;i<ARRcookies.length;i++) 
    { 
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
      x=x.replace(/^\s+|\s+$/g,""); 
      if (x==c_name) 
      { 
       return unescape(y); 
      } 
    } 
} 

if(getCookie('visited')) 
{ 
location.href="redirecturl"; 
}else 
{ 
setCookie('visited',1,365); 
} 

tutorial for cookies

+0

你太棒了!感謝您的鏈接,以及。我會在短時間內嘗試一下。 – Usza

3

檢查cookie是否存在,並執行任何你想要的操作(即重定向),如果沒有找到 - 設置cookie過期,所以它不是會話cookie並繼續。

附註:獲得「返回用戶的魔術重定向」以用戶友好的方式工作很難,請考慮使用內聯歡迎消息。

另一種方法:如果您可以通過其他方式(即某種形式的OAuth或Windows身份驗證)對用戶進行身份驗證,則可以通過將信息保存到服務器端數據庫並根本不依賴於cookie來檢查用戶是否知道。

+0

謝謝你的回答Alexei。我對Cookie沒有太多的經驗,所以Arun編入代碼更有幫助。不過,非常感謝您的幫助。 – Usza

相關問題