1

jQuery-UIタブ(ajax経由で読み込まれる)内にGoogleDFP広告を表示するのに問題があります。ここに例があります:

http://www.anecka.com/google_dfp/

ご覧のとおり、ユーザーがタブを切り替えると、最初のページの読み込みと更新は正常に機能し、GoogleDFP広告は表示されなくなります。Googleコンソールは、私のタグ付けが正しく、コンソールにjavascriptエラーがないことを示しています。

広告をプッシュする方法があります。

function pushVerticalGoogleAd(slot, div_id) {
        googletag.cmd.push(function() { 
            googletag.defineSlot('/7085388/' + slot, [950, 80], div_id).addService(googletag.pubads());
            googletag.enableServices();
            googletag.display(div_id); 
        });
    }

各タブには、次のようなこのメソッドの呼び出しが含まれています。

pushVerticalGoogleAd('homepage_top_950x80', 'ad1');

同じdiv-idを再利用していて、重複スロットを宣言しているためだと言う前に、同意しますが、サーバー上の広告div_idをランダム化するたびに、この問題が発生します。

ここではおそらく靴で釘を打ち込んでいることを知っているので、Google DFPの経験がある人なら誰でも、ハンマーをどこで手に入れることができるか知っていますか?:)

ありがとう

4

1 に答える 1

0

更新方法を試してみるべきだと思います...何をしようとしているのかを正確に知らなくても、これが機能するかどうかを知るのは難しいですが、以下のコードでは、少なくとも複数のクリックで広告を表示できます...

これを試して:

<html>
<head>
    <title>Test</title>
    <link rel="stylesheet" href="css/ui-lightness/jquery-ui-1.8.24.custom.css" />
    <script type="text/javascript" src="js/jquery-1.7.1.js"></script>
    <script type="text/javascript" src="js/jquery.ui.core.js"></script>
    <script type="text/javascript" src="js/jquery.ui.widget.js"></script>
    <script type="text/javascript" src="js/tabs.js"></script>
    <script type='text/javascript'>
        var googletag = googletag || {};
        googletag.cmd = googletag.cmd || [];
        (function() {
        var gads = document.createElement('script');
        gads.async = true;
        gads.type = 'text/javascript';
        var useSSL = 'https:' == document.location.protocol;
        gads.src = (useSSL ? 'https:' : 'http:') +
        '//www.googletagservices.com/tag/js/gpt.js';
        var node = document.getElementsByTagName('script')[0];
        node.parentNode.insertBefore(gads, node);
        })();
    </script>
    <script type="text/javascript">
        var divs = {};
        function pushVerticalGoogleAd(slot, div_id) {
            if(div_id in divs) {
                googletag.cmd.push(function() {
                    googletag.pubads().refresh([divs[div_id]]);
                });
            } else {
                googletag.cmd.push(function() {
                    divs[div_id] = googletag.defineSlot('/7085388/' + slot, [950, 80], div_id).addService(googletag.pubads());
                    googletag.enableServices();
                    googletag.display(div_id);
                });
            }
        }
    </script>
</head>
<body>
    <script type="text/javascript">
        $(document).ready(function() {
            $('#tabs-contain').tabs();
        });
    </script>
    <div id="tabs-contain">
        <ul id="tabs">
            <li><a href="ad1.html"><span>Tab 1</span></a></li>
            <li><a href="ad2.html"><span>Tab 2</span></a></li>
        </ul>
    </div>
</body>
</html>
于 2012-10-02T16:27:54.677 に答える