【问题标题】:How to display adsense ads to search engine visitors and social media visitors only?如何仅向搜索引擎访问者和社交媒体访问者展示 AdSense 广告?
【发布时间】:2018-01-05 08:57:22
【问题描述】:

我制作了下面的 javascript 代码,仅用于向搜索引擎访问者和社交媒体访问者显示 google adsense 广告。但是代码不能用于广告。

当我在下面的代码中放置 adsense 广告时,它会在我从引荐网站访问 url 时向我展示广告,并且当我访问没有引荐来源的直接 url 时,它会向我展示广告。我想只显示搜索引擎和社交媒体访问者的 Adsense 广告,而不是同时显示引荐来源网址和没有引荐来源网址,只有引荐来源网址访问者才能看到 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>

请帮我解决它。谢谢

【问题讨论】:

    标签: javascript preg-match adsense referrer


    【解决方案1】:

    由于您已经在一个 javascript-block 中,您可以立即执行代码,而不是 document.write-ing new javascript-code。使用 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>
    

    【讨论】:

    • 我的错误,谷歌处理异步的方式不同。我修改了答案
    • 我在哪里设置这个代码:&lt;script&gt; (adsbygoogle = window.adsbygoogle || []).push({}); &lt;/script&gt;
    • 我在下面添加了它
    • 还有一个问题。我想展示 3 个不同的 adsense 广告,我该如何使用您的代码?
    • html css 无法设计
    猜你喜欢
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    相关资源
    最近更新 更多