2014-12-19 3 views
0

누구든지 클릭 한 링크를 확인하여 사용자 입력을 받아 쿠키를 만들 수있는 쿠키 기능을 설정하고 쿠키를 만들 수 있도록 도와 줄 수 있습니까? 자동으로 리디렉션됩니다.onclick에 쿠키를 만들고 저장하십시오.

누구든지 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 여러 개의 링크를 원하고 각 링크를 클릭하면 쿠키가 생성되고 사용자가 리디렉션되어야합니다.

누구나 작동하는 jsFiddle을 제공 할 수 있습니까?

아래 코드는 도와주세요 수 있습니다 :

//Html 
    <a href="" onClick="redirectOne('/home')">something site</a> 
    <a href="" onClick="redirectTwo('/home')">something2 site</a> 
    // Javascript 
    function redirectOne(state) 
    { 
    createCookie('state', state, 90); 
    window.location.href = "www.something1.com" + state; 
    } 

    function redirectTwo(state) 
    { 
    createCookie('state', state, 90); 
    window.location.href = "www.something2.com" + state; 
    } 

    var cookie = readCookie('state'); 
    if (cookie != null) 
    { 
    window.location.href = "www.something.com" + cookie; 
    } 

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; 
} 

function eraseCookie(name) { 
    createCookie(name,"",-1); 
} 
+0

코드에 어떤 문제가 있습니까? 오류 메시지가 나타 납니까? – fxm

+0

문제는 내가 어떤 링크를 클릭하든 항상 "www.somethingOne.com"쿠키를 저장한다는 것입니다. somethingTwo 링크를 클릭하더라도 여전히 somethingOne 쿠키가 저장되고 거기로 리디렉션됩니다. – Skywalker

+0

이 코드는 문제를 일으키는 코드입니까? 쿠키가 어떻게 사용되는지 이해하지 못하고 있습니다. 그것의 꼭대기에, 당신의 미리보기에서, 그들은'redirectOne'와'redirectTwo'와 항상 같은 값으로 설정됩니다. – fxm

답변

1

귀하의 문제를 당신은 각 기능에이 줄을 호출 할 때

createCookie('state', state, 90); 

그것은 onClick 이벤트에서 '/ 집'의 가치를 복용 쿠키 생성 루틴으로 전달합니다. 두 함수 모두 '/ home'이 아닌 다른 것을 전달해야합니다.

<a href="" onClick="redirectOne("www.something1.com")">something site</a> 
    <a href="" onClick="redirectOne("www.something2.com")">something2 site</a> 
    // Javascript 
    function redirectOne(state) 
    { 
    createCookie('state', state, 90); 
    window.location.href = state+'/home'; 
    } 

redirectTwo 함수가 전혀 필요하지 않습니다.

관련 문제