2014-10-10 61 views
0

我正在根據用戶首次訪問網站設置cookie。因此,每當新用戶訪問該網站時,我都會將其重定向到登錄頁面,否則用戶將直接看到索引頁面(因爲時間過後,cookie已經在用戶的瀏覽器中)。避免基於特定的URL字符串設置cookie

現在我想實現的是我想跳過基於特定URL(適用於新用戶和現有用戶)的着陸頁重定向。

這就是我如何檢查新訪問並設置重定向cookie。

$(document).ready(function() { 
    landingPageOnFirstVisit(); 
    createCookie('landingRedirect', 'true', '60'); 
}); 

function landingPageOnFirstVisit() { 
    var setCookieForLanding = readCookie('landingRedirect'); 
    if (!setCookieForLanding) { 
     window.location = "/en/landing"; 
    } 
} 

function createCookie(name,value,days) { 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     var expires = "; expires="+date.toGMTString(); 
    } 
    else var expires = ""; 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 

我如何確保如果用戶訪問的網站直接使用下面提到的URL模式:不會發生重定向過程,我們不會設置任何cookie。

https://www.domain.com/en/page?usePromo=XXXXXX
(其中XXXXXX是數字和變化,每次)

回答

1

嘗試

$(function() { 
    if (location.href.indexOf("usePromo")==-1) { 
     landingPageOnFirstVisit(); 
     createCookie('landingRedirect', 'true', '60'); 
    } 
});