팝업 쿠키질문드립니다. (24시간 열람버튼 에러) 채택완료

 

안녕하세요.

팝업창 닫기 버튼은 작동되는데

오늘하루 보지않기 버튼작동이 안됩니다.

Uncaught ReferenceError: set_cookie is not defined 에러가 뜹니다.

도움 부탁드립니다 ㅠㅠ

 

3696014549_1633495560.0089.png

 

 

newwin.inc

Copy
<?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

 

$sql = " select * from {$g5['new_win_table']}

          where '".G5_TIME_YMDHIS."' between nw_begin_time and nw_end_time

            and nw_device IN ( 'both', 'pc' )

          order by nw_id asc ";

$result = sql_query($sql, false);

?>

 

<!-- 팝업레이어 시작 { -->

<div id="hd_pop">

  <h2>팝업레이어 알림</h2>

  <?php

  for ($i=0; $nw=sql_fetch_array($result); $i++)

  {

    // 이미 체크 되었다면 Continue

    if (isset($_COOKIE["hd_pops_{$nw['nw_id']}"]) && $_COOKIE["hd_pops_{$nw['nw_id']}"])

        continue;

  ?>

  <div id="hd_pops_<?php echo $nw['nw_id'] ?>" class="hd_pops" style="top:<?php echo $nw['nw_top']?>px;left:<?php echo $nw['nw_left']?>px">

    <div class="hd_pops_con" style="width:<?php echo $nw['nw_width'] ?>px;height:<?php echo $nw['nw_height'] ?>px">

      <?php echo conv_content($nw['nw_content'], 1); ?>

    </div>

    <div class="hd_pops_footer">

      <button class="hd_pops_reject hd_pops_<?php echo $nw['nw_id']; ?> <?php echo $nw['nw_disable_hours']; ?>">

        <!-- <strong><?php echo $nw['nw_disable_hours']; ?></strong>시간 동안 다시 열람하지 않습니다.</button> -->

        <strong><?php echo $nw['nw_disable_hours']; ?></strong>오늘하루 보지않기

      </button>

      <button class="hd_pops_close hd_pops_<?php echo $nw['nw_id']; ?>">X</button>

    </div>

  </div>

  <?php }

  if ($i == 0) echo '<span class="sound_only">팝업레이어 알림이 없습니다.</span>';

  ?>

  </div>

 

  <script>

    $(function () {

      $(".hd_pops_reject").click(function () {

        var id = $(this).attr('class').split(' ');

        var ck_name = id[1];

        var exp_time = parseInt(id[2]);

        $("#" + id[1]).css("display", "none");

        set_cookie(ck_name, 1, exp_time, g5_cookie_domain);

      });

      $('.hd_pops_close').click(function () {

        var idb = $(this).attr('class').split(' ');

        $('#' + idb[1]).css('display', 'none');

      });

      $("#hd").css("z-index", 1000);

    });

  </script>

  <!-- } 팝업레이어 끝 -->

 

 

common.js

Copy
// 쿠키 입력

function set_cookie(name, value, expirehours, domain) {

  var today = new Date();

  today.setTime(today.getTime() + (60 * 60 * 1000 * expirehours));

  document.cookie = name + "=" + escape(value) + "; path=/; expires=" + today.toGMTString() + ";";

  if (domain) {

    document.cookie += "domain=" + domain + ";";

  }

}

// 쿠키 얻음

function get_cookie(name) {

  var find_sw = false;

  var start, end;

  var i = 0;

 

  for (i = 0; i <= document.cookie.length; i++) {

    start = i;

    end = start + name.length;

 

    if (document.cookie.substring(start, end) == name) {

      find_sw = true

      break

    }

  }

  if (find_sw == true) {

    start = end + 1;

    end = document.cookie.indexOf(";", start);

 

    if (end < start)

      end = document.cookie.length;

 

    return unescape(document.cookie.substring(start, end));

  }

  return "";

}

 

 

head.php

Copy
<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

run_event('pre_head');

include_once(G5_PATH.'/head.sub.php');

?>

<div class="accessbility">

  <a href="#contents">본문 바로가기</a>

</div>

 

<?php

if(defined('_INDEX_')) { 

    include G5_BBS_PATH.'/newwin.inc.php';

}

?>

 

<div id="wrapper">

  <div class="header-block">

    <header class="header">

...

 

 

 

 

답변 1개

채택된 답변
+20 포인트

음.. 일단 경로를 root 에서

/js/common.js 이 파일이 있는지 확인 하시고 

head.sub.php에 보면 <script src="..."> 이렇게 된거 많이 보일거에요 경로가 제대로 불러와지는지 확인하셔야되요 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고