3

JavaScript を使用して、DIV を表示する必要がありますが、Google 広告が含まれている場合のみです。Google経由で作業しているコードは次のとおりです。

<div id='div-gpt-ad-1346196436229-0'>
    <script type='text/javascript'>
        googletag.cmd.push(function() { googletag.display('div-gpt-ad-1346196436229-0'); });
    </script>
</div>

上記のコードの DIV ID は、Google が広告スロット用に生成したものです。

私が得ることができる考えや指示はありますか?確かに、私は JavaScript の世界ではかなり弱いので、優しくしてください。:)

4

7 に答える 7

13

このタグをヘッダー コードに含めるだけです。

<script type='text/javascript'>
googletag.defineSlot('AdSlot-name', [AdSize], 
'div-gpt-ad-1346196436229-0').addService(googletag.pubads());
googletag.pubads().collapseEmptyDivs();
</script>

追加するタグは次のとおりです。

googletag.pubads().collapseEmptyDivs();
于 2013-01-18T16:02:16.377 に答える
2

これには 2 つの方法があります。これについての考え方を変更し、DFP APIのcollapseEmptyDivs設定を使用して広告がない場合は div を非表示にすることができます。

非表示の div から始めて、広告が含まれている場合にのみ表示する必要がある場合は、もう少し複雑です... ページで jQuery を使用している場合は、私が書いたプラグインをチェックしてください。

他の答えはほぼ正しいですが、iframeをチェックするほど単純ではありません...私の経験では、広告が実際に表示されるかどうかに関係なく、iframeは存在します。多くの場合、ページの読み込み後に広告がレンダリングされるため、ページの読み込み時に iframe をチェックすることもできません。

renderEnded が起動されたら、DFP スクリプトにフックして広告のステータスを確認する必要があります...上記のリンクされたプラグインを使用すると、これを簡単に実行できる 2 つのコールバックがあります...プラグインは広告にクラスも追加します広告が見つかったかどうかに応じて、display-block または display-none のユニット div...これらを使用して、CSS で div を簡単に非表示または表示できます。

于 2012-08-30T10:47:44.493 に答える
0

他の応答を使用すると、jQuery を使用して iframe の要素のコンテンツを確認できます。

if($('#div-gpt-ad-1346196436229-0').has('iframe'))
  $('#div-gpt-ad-1346196436229-0').show
于 2012-08-29T17:32:54.810 に答える
0

これは、広告配信コンテナ div を非表示または表示する以外の方法である可能性があります。私はこれが話題から外れていることを知っていますが、広告の存在がページ上の他のことを決定する場合、たとえば、アイテムを絶対に配置する必要があるか、フロートする必要があるかなど...私の場合、広告が存在する場合にのみ、背景を変更したい広告配信スロット。...かなりハックな方法です。display()が終了した後、これを決定するためにコールバックまたは応答リクエストが必要なようです...成功/失敗など.

于 2014-09-02T06:32:19.183 に答える
-1

基本的には簡単です

彼らの広告では、Googleはhtmlドキュメント全体とiframeを使用しているため、ページの読み込みが完了したら、divに「html」または「iframe」タグが含まれているかどうかを確認し、含まれている場合は表示できます

それが役に立てば幸い

*そして、事前定義されたIDを持つホルダーdiwsに広告を入れることをお勧めします

于 2012-08-29T15:41:16.920 に答える