Это скелет кода, который я использую для своего сайта, чтобы переместить загрузку объявления в нижнюю часть веб-сайта. Хотя почти все работает хорошо, я нахожу, что время от времени при первой загрузке страницы объявления не появляется. Я не уверен, что это потому, что браузер не знает, как перезагрузить заполненный DOM автоматически, но его раздражает, потому что каждый раз, когда я нажимаю обновление, появляется объявление. Я не уверен, если его Google не сможет показывать рекламу или если ее браузеры не обрабатывают мой код по назначению.Перемещенный код AdSense для завершения, но реклама иногда не отображается при загрузке исходного сайта
<!-- Website header here -->
<div ID="ADW">ADVERTISEMENT</div>
<div ID="AB"><!-- advertisement goes here after load --></div>
<script type="text/javascript">
// choose ad unit based on user's screen
// size and format ad box to that size.
var s="#####";
var w=728;
var h=90;
if(window.innerWidth<500){
if(w>320){s="####";w=320;h=50}else{s="#####";w=234;h=60}
}
var AD=document.getElementById('AB');
AD.style.height=h+'px';
AD.style.width=w+'px';
</script>
<!-- Website content here -->
<div ID="ADS">
<!-- Ad will load in this DIV after webpage is loaded -->
<script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" type="text/javascript" async></script>
<ins ID="XX" class="adsbygoogle"></ins>
<script type="text/javascript">
// loaderr is only set on pages where ad isn't supposed to run.
if (typeof(loaderr)=='undefined'){
(adsbygoogle=window.adsbygoogle||[]).push({params:{data_override_format:"true",data_page_url:"http://example.com/",google_ad_slot:s,google_ad_client:"#####",google_ad_width:w,google_ad_height:h}});
}
</script>
<script type="text/javascript">
var x=document.getElementById('XX'); //cram ad in
x.style.height=h+'px'; // I know sizes are equal but ad can fit
x.style.width=w+'px'; // and this was tested.
// give title of all adsense IFRAMES
// to meet accessibility guidelines
var xif=document.getElementsByTagName('IFRAME');
for(var i=0;i<xif.length;i++){
xif[i].title='Advertisement '+i;
}
</script>
</div>
<script type="text/javascript">
// Display the ad but 10% of the time it doesn't appear.
if (typeof(AD) !== 'undefined'){
AD.appendChild(document.getElementById('ADS'));
}
</script>
Для меня, чтобы исключить вещи, я хочу знать, как добавить функцию перекрашивать, чтобы сделать объявление, которое было предназначено, чтобы показать на самом деле показать. Я не прошу изменения объявления во время загрузки страницы. Я просто прошу показать объявление, не требуя, чтобы пользователь ударил обновление. Есть ли решение javascript для этого, не нарушая правила AdSense?
Я заменил номер объявления AdSense и идентификатор издателя #####, чтобы другие пользователи не могли общаться с моими объявлениями.
Кто-нибудь был успешным на то, чтобы доход с помощью асинхронной кода Google с атрибутом асинхронной удалены? –
Атрибут 'async' не имеет ничего общего с доходом; он просто позволяет вашему сценарию запускать асинхронно, если у вас несколько сценариев, но если вам нужно, чтобы DOM существовал до запуска вашего скрипта, вам необходимо запрограммировать его таким образом: либо с помощью 1) синхронного сценария внизу '' body 'или 2) помещать код внутри обратного вызова события DOMContentReady или' load'. Удалил ли атрибут 'async' решение вашей проблемы? – trevordmiller
Это было несколько, но я решил теперь лучше всего переместить рекламный код ближе к вершине. Спасибо за вашу помощь. –