로그인

  • 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

정보&강의 라이믹스용 다운로드 광고 애드온의 오류 수정


라이믹스로 사이트를 운영하는 분들은 아마도 대부분 다운로드 광로 애드온을 알고 있을 것입니다.

해당 애드온은 제작자에 따라서 2가지 버전이 있습니다.

 

https://ssgroom.com/xecenter/1712

 

https://xetown.com/point_contents/22472

 

기멀전 사이트는 두번째 conory님의 버전을 사용하는데, 몇가지 문제점이 있습니다.

 

첫번째, 구글 애드센스 규정에 어긋나는 문제.

구글 애드센스는 광고영역이 컨텐츠 내용보다 커서는 안된다는 규정이 있고 이를 어길시 심할 경우 계정이 폭파되는 경우가 있습니다.

작은 배너 광고를 의도적으로 넣은 경우에는 상관없겠지만, 최근에 발표되는 자동형등의 배너를 넣게 되면 의도하지 않게 컨텐츠보다 큰 광고가 노출되며 이에 따라 경고가 누적될 수 있습니다.

 

둘째, 광고차단 확장프로그램이나, 브라우저에 대응이 되지 않습니다.

팝업 형태로 다운로드 광고 배너가 나오게 되는데, 이때 광고차단 프로그램에 의해서 화면이 흰색으로 노출되거나 아무런 광고 효과없이 다운로드가 진행되는 경우가 발생됩니다.

 

셋째, 광고차단 프로그램에 의한 파일명이 원천차단되는 현상.

현재 애드온에 사용하는 일부 파일명이 광고차단 프로그램에 의해 원천 차단됩니다.

따라서 광고차단 프로그램이 인식하지 못할 일반적인 파일명으로 수정하여 문제를 해결하였습니다.

 

이에 이상 세가지 문제를 개선한 수정 코드를 공유합니다.

 

먼저, 애드온에 포함되어 있는 css 파일명을 default.css로 변경합니다.

이후 download_ad.html 파일을 아래와 같이 수정합니다.

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Download - {$filename} ({$file_size})</title>
<link rel="stylesheet" href="/addons/download_ad/tpl/default.css" />
<script src="/addons/download_ad/tpl/jquery-2.1.4.min.js"></script>
</head>
<body>
<div class="main_contents">
<div class="dwnAd" cond="$ad_code">
{$ad_code}
</div>
<div id="cntdwn">{sprintf('<strong>'.'애드블럭'.'</strong>'.'을 제거하거나 '.'<strong>'.'잠시 꺼'.'</strong>'.'주세요.')}</div><br /><br />
<div class="dwnTitle">※ 자료설명 ※</div>
<div class="dwnFile">{$file_discription}</div><br /><br />
<div class="dwnTitle">※ 자료현황 ※</div>
<div class="dwnFile">등록일 : {$regdate} / 문서노출 : {$readed_count} / 다운로드 {$download_count}</div><br /><br />
<div class="dwnTitle">※ {$lang->file_download} ※</div>
<div class="dwnFile">{$lang->file_name} : {$filename} ({$file_size})</div>
<div class="dwnAd" cond="$ad_code">
{$ad_code}
</div>
</div>


<script>
var fuckAdBlock = false;
var FuckAdBlock = false;
</script>
<script src="/addons/download_ad/tpl/doubleserve.js"></script>

<script type="text/javascript">
//애드블록이 있는 경우 실행하는 공통 함수.
function adBlockDetected() {
alert('애드블록 발견되어, 다운로드가 진행되지 않습니다.');
}


//애드블록이 없는경우 실행하는 공통 함수.
function adBlockNotDetected() {

var count = {$ad_time};
var countdown = setInterval(downTimer, 1000);

function downTimer()
{
jQuery("#cntdwn").html("{sprintf($lang->msg_file_download_start,'<strong>"+count+"</strong>')}");
if(count == 0)
{
clearInterval(countdown);

var exdate = new Date();
exdate.setSeconds(exdate.getSeconds() + 60);
document.cookie = 'download_ad_ok_{$file_srl}=true; path=/; expires='+exdate.toGMTString()+';';

jQuery("#cntdwn").html("<div class=\"dwning\">{$lang->msg_file_download_restart}</div>");
window.location = "{getNotEncodedUrl('', 'act', 'procFileDownload','file_srl',$file_srl,'sid',$sid)}";
return;
}
count--;
}


}

function blockAdblockUser() {
if ($('.dwnAd').height() === 0) {
adBlockDetected();
} else {
adBlockNotDetected();
}
}

window.onload = function(){
   blockAdblockUser();
}

</script>

</body>
</html>

 

 


이런 글도 찾아보세요!

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?