2017-07-29 9 views
0

私は検索エンジンの訪問者やソーシャルメディアの訪問者にのみGoogle AdSenseの広告を表示するためのjavascriptコードを作った。しかし、コードは広告と連携していません。検索エンジンの訪問者やソーシャルメディアの訪問者にのみadsense広告を表示する方法は?

下のコードにadsense広告を配置すると、私は参照元サイトからURLを訪問したとき、また参照元なしで直接URLにアクセスしたときに広告を表示します。私は、検索エンジンとソーシャルメディアの両方を参照するのではなく、参照元なしの広告主広告のみを表示したいのですが、参照元の訪問者だけがAdSense広告を見ることができます。

コード:

<script type="text/javascript"> 
if (document.referrer.match(/google|bing|facebook|twitter/)) { 
    var test = ' 
      <script type="text/javascript"> 
       google_ad_client = ""; 
       <!-- 336x280 --> 
       google_ad_slot = ""; 
       google_ad_width = 336px; 
       google_ad_height = 280px; 
      </script> 
      <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script> 
      '; 
    document.write(test); 

} else { 
    document.write("its not referrer"); 
} 
</script> 

私はコードの下にその作業罰金をこれを使用するが、私は広告を置いたときにその動作していないとき。

コード:

<script type="text/javascript"> 
if (document.referrer.match(/google|bing|facebook|twitter/)) { 
    document.write("its a referrer visitor"); 

} else { 
    document.write("its not referrer"); 
} 
</script> 

私はそれを解決するために助けてください。ありがとうございました

答えて

0

あなたは既にjavascriptブロック内にいるので、document.writeの代わりにすぐにコードを実行して、新しいjavascriptコードを実行することができます。 adsenseのasynchronous modeを使用すると、ページ読み込みの改善も得られます。

<!-- Google Adsense will place the ad within the ins-block. Display none 
    by default, we will change that in javascript --> 
<ins class="adsbygoogle" 
    style="display:none; width:336px;height:280px;" 
    data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" 
    data-ad-slot="1234567890"></ins> 

<script type="text/javascript"> 
    if (document.referrer.match(/google|bing|facebook|twitter/)) { 
     // Show the ins-block 
     document.getElementsByClassName('adsbygoogle')[0].style.display = 'inline-block'; 
     // Load adsense-javascript using 
     var script = document.createElement('script'); 
     script.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; // Note: different url due to async 
     script.async = true; // Not necessary, but speeds up loading your page 
     var firstScript = document.getElementsByTagName('script')[0]; 
     firstScript.parentNode.insertBefore(script, firstScript); 
    } 
</script> 
+0

回答ありがとうございました...広告が表示されません –

+0

私の間違いは、Googleが非同期処理を別々に処理しています。私は私の答えを –

+0

に変更しました。このコードを設定しました: '

関連する問題