홈페이지 클릭시 광고를 하기 위해 뜨는 팝업창을 하나 만들어 봤다.
나는 공지글에 옵션을 주어 팝업창을 띄우도록 해서 공지사항으로 표시 되고 있는것이니
팝업의 내용은 무시하고..ㅎㅎ 코드 분석을 해보쟈!😘
당연히도 팝업창의 내용을 (뼈대를) 만들었다고 가정하에 핵심 코드만 살펴보겠다 :)
처음 메인 화면에서 팝업창을 띄우는 코드이다. ( 자바스크립트 )
쿠키를 가져와 쿠키에 저장된 정보를 분석한 뒤 window.open()으로 팝업창을 띄워주었다.
window.open의 매개변수로 들어간 부분은 이름들이 직관적이니 따로 설명하지 않겠다.
위의 코드를 간략히 보여주기위해 생략했는데 만약 팝업창을 여러개 띄워주고 싶다면
window.open("경로", "아이디", "옵션"); 팝업창에 아이디를 주어 구별 해주면 된다.
이어서 쿠키를 설정하고 가져오는 부분을 설명하겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function setCookie(name, value) { var todayDate = new Date(); todayDate.setHours( 24 ); document.cookie = name+ "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"; } function closeWin() { if ($("#option").is(":checked") ) { setCookie("name", "value"); window.close(); } } | cs |
위는 팝업창에서 '하루동안 띄우지 않기' 버튼을 눌렀을 때 발생하는 이벤트이다.
나는 이때 쿠키를 설정해 주었다.
혹시 쿠키에 대해 모르시는 분들을 위해 간략히 설명하자면 쿠키란 사용자( 웹 사이트 방문자 )의 컴퓨터에 저장해놓는 정보이다.
setCookie를 호출 했을 때 아래와 같이 쿠키가 생성될 것이다.
쿠키이름 (name) = 쿠키값 (vlaue);
경로 (path) = "/";
만료일 (expires) = "";
이게 끝이다! 쿠키는 잘 만들어졌다.🍪🍪🍪
그럼 만들어준 쿠키를 가져오자.
팝업창을 띄울때 쿠키를 가져오는 함수를 사용했었다. ( getCookie(name) )
아래가 그 함수이다 :)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function getCookie(name) { var Found = false var start, end var i = 0 while(i <= document.cookie.length) { start = i end = start + name.length if(document.cookie.substring(start, end) == name) { Found = true break } i++ } if(Found == true) { start = end + 1 end = document.cookie.indexOf(";", start) if(end < start) end = document.cookie.length return document.cookie.substring(start, end) } return "" } | cs |
쿠키명을 매개변수로 받아 해당 데이터를 짤라서 가져오도록 되어 있다.
이를 호출하여 쿠키의 값이 설정 되어있으면 팝업창을 띄우지 않도록 만들었다.
'~ 2024.08' 카테고리의 다른 글
[ JS ] 무한 스크롤 만들기 ( div 태그 ) (2) | 2019.04.22 |
---|---|
[ JS ] Confirm 확인창 (0) | 2019.04.22 |
[ C# ] 현재 드라이브 사용량 표시 (1) | 2019.01.28 |
[ One hour one life 공략 ] 이번엔 칠면조 구이다! 🦃🦃 (3) | 2019.01.19 |
[ C# ] Log파일 만들기 (0) | 2019.01.19 |