2011-07-06 2 views
1

처음으로 사이트에 액세스 할 때 한 번만 Java 스크립트를 실행해야합니다. 쿠키를 저장하고 모든 것을 확인하려고합니다. 쿠키가 저장된 경우 시간 사이트 열기 쿠키가 저장되지 않으면 스크립트를 실행할 필요가 없습니다 (사이트를 처음 사용하는 경우) 새로운 쿠키를 만들고 스크립트를 실행해야합니다. 그렇지 않으면 IP에서 할 수 있습니다. mysql 데이터베이스에 no no ip를 추가하고 PHP를 script.im에 추가하면 실행할 수 있습니다. 도움이 필요합니다. 가장 간단한 형태에서쿠키를 저장하여 처음으로 사이트에 액세스 할 때 스크립트를 한 번만 실행해야합니다.

답변

3

:

if (document.cookie != 'onetime=true') { 
    ... do your one-time stuff here ... 
    document.cookie = 'onetime=true; expires:Fri, 8 Jul 2011 00:00:00 UTC; path=/'; 
} else { 
    ... cookie is set, so don't do anyhing ... 
} 

이 단일 쿠키 = 키 값 쌍을 허용하지만. 사이트가 다른 쿠키 (예 : 세션 토큰)를 필요로하는 경우 여러 쿠키를 설정/가져 오거나 읽으려면 약간의 인프라가 필요합니다. 코드 샘플은 here으로 데모되어 있습니다.

+0

그래 마크는 ...이 코드는 내가 어떤이는 .. –

0

누군가가 이미 귀하의 사이트를 방문한 적이 있는지 여부를 실제로 알 수는 없습니다. 쿠키를 삭제하면 어떻게 알 수 있습니까? IP, 인터넷을 통해 대학, 기업, 도서관, 학교 및 무료 Wi-Fi 네트워크에 대해 수백, 수천 명의 사람들이있는 카페, 호텔, 공항은 어떨까요?

물론 많은 가정 사용자가 유동 IP를 사용하므로 항상 바뀝니다.

최선의 방법은 쿠키 존재 여부를 확인하는 것입니다. 쿠키가 존재하지 않으면 스크립트를 실행하고 그렇지 않으면 실행하지 않는 것이 좋습니다. PHP에서

+0

그래 IP가 작동하지 않을 수 있습니다하지만 난 쿠키를 사용하여 작동 잘 작동 changers..now하게 작동 verymuch verymuch 감사 thnak 리차드 .. –

2

:

<? 
if (!isset($HTTP_COOKIE_VARS["visited"])) 
{ 
    echo "<script ... your Javascript code goes here ... </script>"; 

    setcookie ("visited","Yes",time()+3600 * 24 * 120,'/', ".yoursite.com"); // for 120 days 
} 
?> 
+0

그것은 작동합니다 .... thnk you ... –

+0

다행. stackoverflow에 "고맙다"라고하는 또 다른 방법이 있습니다 :) –

관련 문제