javascript - 为什么用于插入 Adsense 广告的 Javascript 代码不起作用?

标签 javascript adsense

advice from this question 开头, 我做了一些搜索并在 this web site 上找到了一些代码,旨在将 Google Adsense 广告插入我网页上的特定位置,页面加载后。在我的例子中,我在 Javascript 中做了一些检查,将 JSON 数据发送回我的服务器,然后根据我从该 JSON 获得的响应,我决定是否显示 Google Adsense 广告。

由于这段代码是从网上弄来的,不是自己写的,所以有很多地方没弄明白,有些地方还得按自己认为的要求填写,但是我有点猜测。这是我当前使用的代码的样子:

if(userStatus.status == 0)
{
    console.log("google ad should show");

    window["google_ad_client"] = 'ca-pub-0000000000000000';
    window["google_ad_slot"]  = "0000000000";
    window["google_ad_width"]  = 320;
    window["google_ad_height"]  = 50;

    window.adcontainer = document.getElementById('google-ad');
    window.adhtml = '';

    function mywrite(html)
    {
        adhtml += html;
        if(html == '</iframe>')
        {
            adcontainer.innerHTML = adhtml;
        }
    };

    document.write_ = document.write;
    document.write = mywrite;

    script = document.createElement('script');
    script.src='http://pagead2.googlesyndication.com/pagead/show_ads.js';
    script.type='text/javascript';
    document.body.appendChild(script);
}

看来它几乎可以工作了。

当我在启用了 Firebug 的 Firefox 中查看我的页面时,我看到正在显示我的控制台日志消息,所以我知道我已经完成了所有条件。

我也试过使用直接写入 HTML 的代码转换广告,只是为了确认 Google 已接受我的网站并且他们将展示广告。当我这样做时,广告显示正常,所以我相信我的 Asense 帐户没有任何问题。

但是,虽然对 http://pagead2.googlesyndication.com/pagead/show_ads.js 的调用被附加到页面末尾,但似乎没有显示广告参数按预期写入 google-ad DIV。

因此,广告未展示。

我的代码哪里出错了?

最佳答案

原来问题是 if(html == '</iframe>')线。我原以为这与 Google 如何构建 adsense 广告有关,但这一定与最初编码的人需要如何构建他们的 HTML 有关。

不过,就我而言,我根本不需要它。我的代码现在已更改为:

function mywrite(html)
{
    adhtml += html;
    adcontainer.innerHTML = adhtml;
};

令我惊讶的是,它有效!我现在有一个 Google Adsense 广告,它会根据页面加载后检索到的 JSON 数据的结果显示。

此外,对于可能想要做类似事情的任何人,还有进一步的提示:首先将您的 Google 广告硬编码到 HTML 中以确保它有效并且 Google 已接受它,然后再尝试使用 Javascript 或其他任何东西做任何花哨的事情。如果我早点意识到这一点,我可能可以节省一些时间。

希望能帮助其他可能想做同样事情的人。

关于javascript - 为什么用于插入 Adsense 广告的 Javascript 代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272010/

相关文章:

android - AdMob 开始实现对 app-ads.txt 文件的支持

css - 如何防止浏览器在带有响应式网站的移动设备上下载 Google AdSense ADS?

css - 广告位叠加-自动插入页面

javascript - 什么是 getClientRect(); method 和 layer.children.each 在 JavaScript 中做什么?

javascript - .fancybox 未被识别为函数

javascript - 在 JavaScript 中处理点/小向量的最有效方法是什么?

javascript - Helvetica 在 Windows 操作系统上呈现为 Arial

javascript - jquery .each() 循环

adsense - Google AdSense ERR_ADDRESS_INVALID

html - 如何将 Vertical adsense 广告空间插入我的网页?