2014-05-11 2 views
0

먼저, 나는 JavaScript, jquery 및/또는 php에 새로 도입되었다고 말하고 싶습니다. 후자의 나는 아무것도 알지 않으며 다른 2 개는 저것에서 멀리 있지 않다.스플래시 페이지로 리디렉션되는 쿠키

내가 말했듯이, 나는 너무나 많은 시간에 인터넷을 수색하여이 (확실히 특정하지만 아직 널리 사용되지는 않은) 것을 계산한다. 사람들이 쿠키를 사용하여 시작 페이지로 리디렉션하는 것이 코카콜라의 조리법처럼 비밀로 유지되는 것 같습니다.

내가 원하는 것은 다소 간단합니다. 방문객이 내 웹 사이트를 방문하면 index.html에 도착합니다 (평소와 같이). 방문자에게 자체적으로 적용되는이 페이지에 쿠키를 구현하고 싶습니다. 방문자가 이전에 사이트를 방문했는지 여부를 확인해야합니다. 그렇지 않은 경우 splash.html로 리디렉션됩니다. 스플래시 페이지는 방문자가 다른 HTML 페이지에 대한 링크가 포함 된 웹 사이트를 보려는 언어를 선택하는 데 사용됩니다. 몇 가지 발췌 문장을 여기 저기에 발견했지만 javascript는 너무 복잡해 보였고 나와 누락 된 기능을 제대로 수행 할 수 없도록 항상 누락되었습니다.

도와주세요!

은 요점을 되풀이하려면 : index.html을

방문자로드

쿠키

을 splash.html 아무에게

else 

리디렉션을 수행하지

if visited before 

인정

진심으로, 도와 주실 수있는 분들께 진심으로 감사드립니다.

절대 스크래치에서 Javascript를 쉽게 배울 수있는 방법에 대한 도움을 주시면 감사하겠습니다.

+0

서버 측과 관련없이 Javascript 만 사용 (클라이언트 측)하고 싶습니까? 귀하의 웹 사이트가 이미 PHP를 사용하고 있습니까 아니면 일반 HTML 페이지 집합입니까? – izstas

+0

PHP가 눈에 띄게 더 쉽게 작동하는 경우에는 특별히 신경 쓰지 않지만 지금은 자바 스크립트를 선호합니다. 더 쉽게 읽을 수있는 것 같습니다. 내 사이트는 지금까지 일련의 HTML 페이지이며이를 그대로 유지하고자합니다. 당신의 응답을 주셔서 감사합니다! – Wiking

답변

0

나는이 솔루션은 내가 원하는 것을 위해 작동하는 것을 발견했다 :

$(function() { 
    var COOKIE_NAME = 'splash-page-cookie'; 
    $go = $.cookie(COOKIE_NAME); 
    if ($go == null) { 
     $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 183 }); 
     window.location = "Splash.html" 
    } 
    else { 
    } 
}); 

이 스크립트는 Carhartl JQuery와 쿠키 플러그인으로 작동합니다. 모든 도움에 감사드립니다!

0

모질라 개발자 네트워크에서 자바 스크립트에서 쿠키 사용에 대한 좋은 기사가있다 : https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

당신이 Example #3bis입니다 도움이 될 것입니다 무엇 :

if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
    alert("Do something here!"); 
    document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; 
} 

당신이 document.cookie의 값을 얻을 때, 당신은 세미콜론을 얻을 - 쿠키의 목록을 분리. 첫 번째 행의 정규 표현식은 someCookieName이라는 쿠키의 값을 찾습니다.

당신이 document.cookie의 값을 설정

, 당신은 당신이 document.location property을 사용할 수, 방문자를 리디렉션하기 위해

를 (이 보일 수 있습니다 당신이 쿠키의 전체 목록을 덮어 쓰지 않습니다) 설정하거나 하나 개의 쿠키를 업데이트합니다.

다음 코드는 당신이 필요로하는 무엇을 수행해야합니다

if (document.cookie.replace(/(?:(?:^|.*;\s*)seenSplash\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") { 
    document.cookie = "seenSplash=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; 
    document.location = "/splash.html"; 
} 
+0

신속하고 일관된 응답을 해주셔서 감사합니다. 나는 그것이 어떻게 작동하는지 완전히 이해하지 못한다고 말해야 만합니다. 내가 제공 한 코드를 사용하여 HTML 파일의 head 태그에 넣은 다음 내 FTP 서버에 업로드하면됩니다. 나는 아직도 뭔가 빠져있을 수 있다는 느낌을 갖습니다. 당신이 저에게 제공 한 developer.mozilla.org 링크를 확인했지만 (고맙습니다, 아주 완벽하게 보이는 소스), 나는 무엇을 발견 할 수 없었습니다. – Wiking

+0

'script' 태그에 코드를 넣고'head' 안에 넣으면 제대로 작동합니다. – izstas

관련 문제