배너 클릭수를 제한하는 소스를 짜고 싶습니다.

배너 클릭수를 제한하는 소스를 짜고 싶습니다.

QA

배너 클릭수를 제한하는 소스를 짜고 싶습니다.

본문

제가 구현하려는 것은 두가지입니다.

①제 사이트의 배너를 한 아이피, 쿠키당 하루에 2번까지만 누를 수 있도록.
( 2번 넘게 누르려고 하면 해당 IP,쿠키 사용자는 배너가 보이지 않거나 다른 배너로 체인지 )

②두번째는 제 사이트의 배너를 전체 사용자가 하루에 제가 지정해놓은 숫자만큼만 
누를 수 있고 해당 횟수가 초과되면 제 사이트의 배너가 전체 사용자 모두에게 보이지 않도록.
( Ex. 100번으로 설정해놓는다면 100번 클릭시 자동으로 사이트의 배너가 공백 혹은 다른 배너로 체인지 )

이런 기능을 자바스크립트로 구현하고 싶은데요.

대략 구상과 비슷한 소스들은 찾아놓았는데 
이걸 어떻게 합치고 활용하여야 할 지 감이 안잡힙니다.

개인적으로 ①, ②를 동시에 합쳐 사용하고 싶습니다.

자바스크립트 능력자 분들이 보시고 수정좀 부탁드립니다....

아래는 제가 구글링으로 찾은 소스입니다.


[ ① 번에 해당하는 소스 ]

[ head 부분에 ]


<script language="JavaScript">

var clickCount = readCookie();
if ( clickCount == null ){
    clickCount = 0;
}

function trackclick() {
    clickCount = parseInt(clickCount)+1;
    setCookie( clickCount, 2 );
    return true;
}

function setCookie( cookieValue, nDays) {
    var today = new Date();
    var expire = new Date();
    if (nDays==null || nDays==0) nDays=1;
    expire.setTime(today.getTime() + 3600000*24*nDays);
    document.cookie = "clicktrack="+escape(cookieValue)
                      + ";expires="+expire.toGMTString();
}

function readCookie() {
    var nameEQ = "clicktrack=";
    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;
}

</script>







[ html 혹은 body 부분에 ]

<div id="banners" onclick="trackclick();">

<script language="JavaScript">

if ( clickCount > 2 ){
document.write('
        <a href="http://mydomain.com/go-here-if-clickcount-surpassed">
        <img src="http://mydomain.com/show-this-image.jpg">
        </a>
        ');
}else{
document.write('
        배너 소스가 들어가는 공간
        ');
}

</script>
</div>




[ ②번에 해당하는 소스 ]
※ A와 B는 다른 소스입니다.


A.

var count = 0;
document.getElementById("appendButton").onClick = function(e) {
     if( count >= 10 ) {
          return false;
     }
     else {
          count ++;
          document.getElementById("id_of_thing_you_append_to").innerHTML += "Whatever you're appending";
     }
}


B.

Using your variable names:

var thismany = 0;

appendbutton.onclick = function() {
  if (thismany++ < 10) {
    // append things
  }
};
Variable encapsulated:

appendbutton.onclick = function() {
  if (this.count == undefined) {
    this.count = 0;
  }

  if (this.count++ < 10) {
    // append things
  }
};

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 27
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT