【问题标题】:Uncaught Error: Cannot find a responsive size for a container of width=0px and data-ad-format=auto未捕获的错误:找不到宽度 = 0 像素且数据广告格式 = 自动的容器的响应大小
【发布时间】:2015-05-11 17:39:07
【问题描述】:

我有一个 jquery 移动页脚,我在其中显示一个响应式 AdSense 广告并获得以下信息:

Uncaught Error: Cannot find a responsive size for a container of width=0px and data-ad-format=auto

我放置广告的容器如下所示:

<div data-role="footer" data-position="fixed" data-tap-toggle="false"></div>

尺寸为 320 x 50 像素。

即使我收到上述错误,广告仍在空间中展示。有没有其他人看过这个?感谢您的反馈。

【问题讨论】:

    标签: adsense


    【解决方案1】:

    对于遇到此错误的其他人

    window.setTimeout(function(){
      (adsbygoogle = window.adsbygoogle || []).push({});
    }, 200);
    

    页面加载后初始化广告。

    【讨论】:

    • 在您从 Google 获得的广告代码 sn-p 中,将 adsbygoogle 行替换为此 sn-p。解决了我的问题。确保它在脚本标签中。
    • 我认为这违反了 Adsense ToS。不能修改代码。
    【解决方案2】:

    比使用超时更好的方法是使用window.onload:

    window.onload = function() {
        (adsbygoogle = window.adsbygoogle || []).push({});
    };
    

    【讨论】:

      【解决方案3】:

      错误是由将 display:none 设置为页脚部分引起的。此页脚位于在适当时刻调用的叠加层中。当 div 容器的样式设置为 display:none 时,Adsense 似乎将其视为 width=0px。

      【讨论】:

        【解决方案4】:

        将封闭的

        或页面元素css属性宽度设置为100%

        示例 .place{width:100%}

        避免 {width:auto}

        【讨论】:

          【解决方案5】:

          正确的解决方法是:

          (adsbygoogle = window.adsbygoogle || []).push({})
          

          但您仍然必须从 Google 生成的代码中删除该函数。

          【讨论】:

            【解决方案6】:
            var prev_handler = window.onload;
            window.onload = function () {
                if (prev_handler) {
                    prev_handler();
                }
                (adsbygoogle = window.adsbygoogle || []).push({});
            };
            

            这段代码对我来说很适合多个广告块

            【讨论】:

              猜你喜欢
              • 2021-12-19
              • 1970-01-01
              • 2015-11-24
              • 1970-01-01
              • 2018-11-22
              • 2020-10-12
              • 1970-01-01
              • 2014-10-11
              • 2018-10-02
              相关资源
              最近更新 更多