CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | PHP 7.0 |
기존에 애드센스 비동기를 확실하게 하는 팁은 적용해서 잘 사용하고 있습니다.
https://github.com/getify/LABjs
기존의 애드센스 비동기 처리했던 코드 입니다.
<script src="js/LAB.js"></script>// 레이아웃에서 초기에 불러오도록 처리했습니다.
<script>
jQuery(function($) {
setTimeout(function() {
$LAB
.script("//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js")
.wait(function () {
var adn = jQuery('.adsbygoogle').length;
if (adn > 0) {
for (var i = 0; i < adn; i++) {
(adsbygoogle = window.adsbygoogle || []).push({});
}
}
});
}, 1000);
});
</script>
그런데 중간 중간에 스크립트들 중 에서 지연 동작 시키고 싶은 것들이 있습니다. 애드센스는 아닙니다. 비슷한 동작이 되도록 하고 싶은데요..
이런 코드 입니다.
<div id='div-gpt-ad-1500694359151-0' style='height:90px; width:728px;'>
<script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1500694359151-0'); });</script>
</div>
위 광고단위가 출력되려면 레이아웃 등의 상단에 아래와 같은 코드가 있어야 합니다.
<script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
</script>
<script>
googletag.cmd.push(function() {
googletag.defineSlot('/58666060/pomleove_728_noadsense', [728, 90], 'div-gpt-ad-1500694359151-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
구글서버를 이용한 광고 입니다. 위 부분도 비슷하게 동작시키고 싶은데 어찌 해야 할까요??
댓글 2
.script("SCRIPT URL")
.wait(function () {
//로딩이 끝나면 실행할 스크립트
});
이렇게 쓰시면 어느거에나 쓰실수 있습니다.
.script("SCRIPT URL") 가 없다면..
$LAB
.wait(function () {
//로딩이 끝나면 실행할 스크립트
});
요렇게 가능한건가요?? 어제 이렇게 했다가 settimeout 까지 해봤는데 지연이 안된는거 같아서 원복했거든요.
위에 다른 스크립트를 기다리는 것이 아닌 컨텐츠가 로딩이 끝난 후 실행되길 바래서 조금더 정확한 비동기를 실현하려는 목적이거든요. 물론 적용하지 않아도 비동기로 동작은 하는 듯 합니다.
어... 오늘 다시 테스트 해보니 지연시간도 잘 적용되네요.