강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

오늘 하루 창 열지 않기
작성자 : M 최고의하루
등록날짜 : 2008.12.24 14:01
2,784
페이지가 로딩되면서 새창이 뜨는 공지사항이나 이벤트창에서 이런거 많이보셨을겁니다.
오늘 하루동안 창열지 않기

이건 사용자가 이 체크박스에 체크를 하면 그 쿠키를 읽어서 하루동안은 다시 새창을 열리지 않게 하는거죠. 계속해서 공지창이 뜨면 사실 조금 짜증이 나거든요.
아무리 광고도 좋지만 이정도의 예의를 갖춰준다면 사용자가 더 기쁘겠죠?

여기서는 두군데다가 스크립트를 넣어줘야 합니다.
일단 새창으로 띄워질 htm파일에는 체크를 하면 창이 저절로 닫히게하는스크립트를 넣어줘야하구요.
그리고 새창을 띄울파일에는 그 창이 사용자가 체크를 했는지 안했는지,했다면 하루가 지났는지를 체크하는 스크립트를 넣어줘야 합니다.

① 새창을 띄우는 파일(index.htm)
엄마파일이라고해두죠.보통은 그 계정에 들어가자마자 새창이 뜨자나요.
거기서의 index파일입니다.
여기에는 사용자가 체크를 했는지 안했는지,했다면 하루가 지났는지를 체크하는 스크립트가 들어갑니다.

<head>와 </head>사이에 넣어주세요.

<script language="JavaScript" type="text/JavaScript">
  <!--
  function getCookie(name) {
    var Found = false
    var start, end
    var i = 0

    // cookie 문자열 전체를 검색
    while(i <= document.cookie.length) {
      start = i
      end = start + name.length
      // name과 동일한 문자가 있다면
      if(document.cookie.substring(start, end) == name) {
        Found = true
        break
      }
      i++
    }

    // name 문자열을 cookie에서 찾았다면
    if(Found == true) {
      start = end + 1
      end = document.cookie.indexOf(";", start)
      // 마지막 부분이라는 것을 의미(마지막에는 ";"가 없다)
      if(end < start)
      end = document.cookie.length
      // name에 해당하는 value값을 추출하여 리턴한다.
      return document.cookie.substring(start, end)
    }
    // 찾지 못했다면
    return ""
  }

  function openMsgBox() {
    var eventCookie=getCookie("cook_name");   // cook_name 은 임의로 꼭 변경하세요.
    if (eventCookie != "no")
    window.open('popup.html','_blank','width=400,height=450,top=50,left=100');
    //팝업창의 주소, 같은 도메인에 있어야 한다.
  }
  openMsgBox();
-->
</SCRIPT>

popup.html은 새창으로 띄울 파일경로
_blank 는 새창이란 뜻
width=400,height=450 는새창의 가로세로 크기
top=50,left=100 새창의 띄워질 위치


② 새창으로 열려질 파일 (popup.html)
새창으로 열려질 파일안에다가 써줘야하는스크립트입니다.
여기에서는 체크를 하면 창이 저절로 닫히게하는스크립트를 넣어줍니다.

<head>와 </head>사이에 넣어주세요.

<script language="JavaScript" type="text/JavaScript">
  <!--
  function setCookie( name, value, expiredays ) {
    var todayDate = new Date();
    todayDate.setDate( todayDate.getDate() + expiredays );
    document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
  }
  function closeWin() {
    if ( document.checkClose.event.checked )
    setCookie("cook_name", "no" , 1);   // cook_name 은 위의 index와 같은 이름으로 변경
  }
  -->
</script>

cook_name은 쿠키 이름이구요, 위의 index에서 적은것과 같은 값을 써주세요.
1은 기한(expiredays)을 말하는 것으로 하루를 의미합니다. 원하시는 날짜만큼 써주면 되겠죠?
checkClose은 Form Name입니다. (아래쪽에 나옵니다. 체크박스)
event은 Input Name입니다. (아래쪽에 나옵니다. 체크박스)

그리고 <body>안에다가 onunload="closeWin()"라고 써주세요.

<body onunload="closeWin()">

자 그다음엔 체크박스에다가 이렇게 써주세요.
<form name="checkClose">
  <input type="checkbox" name="event" onClick="check_window();" >
  하루동안 이 창 띄우지 않음
  <a href="javascript:self.close();"><img src="이미지경로" width="이미지가로크기" height="이미지세로크기" border="0"></a>
</form>

창닫기 이미지 대신에 그냥 텍스트로 넣으셔도 됩니다.
이건 테스트하고 하루를 지나야 되는지 안되는지 알수 있어요.
하루동안 새창이 열리지말라고 했으니까요.

하루 이전에 팝업을 다시 보려면?
브라우저의 도구>옵션 에서 쿠키값을 삭제하면 다시 팝업을 볼수 있습니다.

 

 

강의원본 : 해피정닷컴 ( http://www.happyjung.com/zeroboard/zboard.php?id=lecture ) 

 

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3075 [ JSP ] 브라우저 인코딩이 자동으로 한글이 안되는 경우 해결법 99 단국강토 01.02 3049
3074 [ JS ] 버튼을 이용한 이미지 넘기기 ( 이미지 리스트 ) 99 단국강토 01.02 2746
3073 [AJAX] 자바스크립트에서 XML 파일 읽어 오기 99 단국강토 12.30 2863
3072 [AJAX] DOMDocument 에서 selectSingleNode 을 이용한 XML 노드 (Node) 찾기 99 단국강토 12.30 2778
3071 [ JS , AJAX ] DOM 크로스브라우징 : 원하는 노드 찾기 [ createDocument , DOMDocument ] M 최고의하루 12.26 2525
3070 외부링크 금지하는 방법 M 최고의하루 12.26 2630
열람중 오늘 하루 창 열지 않기 M 최고의하루 12.24 2785
3068 DLL화일 레지스트리에 등록 또는 삭제 하기 M 최고의하루 12.24 2798
3067 팝업창 닫고 프레임이 있는 부모창에서 원하는 페이지로 이동하기 M 최고의하루 12.23 5284
3066 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-2 M 최고의하루 12.23 2418
3065 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 9482
3064 [펌] 제12강 - 방명록 만들기 I M 최고의하루 12.23 5101
3063 [펌] 제13강 - 방명록 만들기 II M 최고의하루 12.20 4521
3062 [펌] 제14강 - 방명록 만들기 III M 최고의하루 12.20 2658
3061 [펌] 제15강 - 방명록 만들기 IV M 최고의하루 12.19 2575
3060 [펌] 제16강 - 방명록 만들기 V M 최고의하루 12.19 2338
3059 제17강 - 방명록 만들기 VI M 최고의하루 12.18 2418
3058 [펌] 제18강 - 방명록 만들기 VII M 최고의하루 12.04 2537
3057 아작스관련 코드 링크들 M 최고의하루 12.04 2603
3056 배열 사용 13 김영철 01.14 2927
3055 [엑셀과 mysql의 데이터이동] 13 김영철 01.14 3152
3054 액티브X IE 패치에 따른 자동 자바스크립트 출력 소스 (회피법) 13 김영철 01.14 2077
3053 익스플로러(IE)플러그인ActiveX액티브엑스활성화특허침해에따른 설계변경패치에대한 개발코딩간편변경방법 13 김영철 01.14 3369
3052 PHP has encountered an Access Violation at 에러 구문 13 김영철 01.14 2770
3051 PHP.INI 설정에 따른 변수 이름 바꾸기 13 김영철 01.14 3183
3050 휴대폰 하이픈 처리 함수 13 김영철 01.14 2757
3049 POST , GET 으로 변수 전달 안될때 13 김영철 01.14 3157
3048 라이오 버튼 디버깅용 체크여부 확인 13 김영철 01.14 3195
3047 특정부분만 프린트하기 13 김영철 01.14 2841
3046 위지에디터 모음 13 김영철 01.14 2608
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취