twitter-bootstrap - Adsense 响应式 : no slot size for availableWidth=0

标签 twitter-bootstrap responsive-design adsense

您如何在响应式网站布局上使用 google adsense 响应式 block ?让我们考虑这个简单的案例(用 Bootstrap 编写):

<div class="container">
  <div class="row">
    <div class="col-sm-4 col-md-3">Menu</div>
    <div class="col-sm-8 col-md-6">Content</div>
    <div class="col-md-3 hidden-sm hidden-xs">Column with Adsense</div>
  </div>
</div>

所以我们有大屏幕的 3 列布局,小屏幕只有两列。右栏不是很重要,所以我们只是隐藏它,它包括 Adsense 响应 block ,我们也隐藏它。

如果我们在小屏幕上打开这个页面,我们会得到一个错误 TagError: adsbygoogle.push() error: No slot size for availableWidth=0 .如何避免这种情况?

理想情况下,如果窗口大小发生变化,我想重新初始化 adsense block (在小屏幕上打开然后放大,以便第三列变得可见应该触发出现列中的 adsense 初始化),但我想现在不可能。

我试图将 adsense 放置到固定大小的容器(位于 hidden-xs block 内),它不起作用,无论如何都会出现错误。

我还尝试将响应类添加到 <ins class="adsbygoogle hidden-xs">...</ins>但它也没有消除错误。

最佳答案

我遇到了同样的问题,即使我禁用了 push() 调用,我仍然收到错误,因为谷歌在下次调用 push() 时仍然会找到这个广告元素(对于不同的广告),

最后,当我只在那个消失的 div 没有隐藏的情况下注入(inject) JavaScript 时,它才起作用。

<div id="ad-top-right-wrapper" class="hidden-xs col-sm-4 col-lg-3">
    <!-- Portal top right links -->
    /* <ins class="adsbygoogle"
            style="display: block; overflow: hidden;"
            data-ad-test="@googleDataAdTest"
            data-ad-client="ca-pub-9651717958493835"
            data-ad-slot="5910985512"
            data-ad-format="link"></ins> */
    <script>
        // Inject this ad manually when hidden-xs is not in affect (the div is visible)
        // Otherwise google ads will try to push it when the next .push() is called
        if (($("#ad-top-right-wrapper").css("display") !== "none")) {
            document.write("<ins class='adsbygoogle'" +
                " style='display: block; overflow: hidden;'" +
                " data-ad-test='@googleDataAdTest'" +
                " data-ad-client='ca-pub-9651717958493835'" +
                " data-ad-slot='5910985512'" +
                " data-ad-format='link'></ins>");
            (adsbygoogle = window.adsbygoogle || []).push({});
        }
    </script>
</div>

关于twitter-bootstrap - Adsense 响应式 : no slot size for availableWidth=0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40112557/

相关文章:

html - Bootstrap 3 嵌套网格未重置为 12

jquery - Bootstrap部分 View 模态表单未提交

javascript - 使文本响应其是否溢出其父 div

angularjs - 排队 GPT 命令中的异常类型错误 : Cannot read property 'addService' of null

html - 如何在 dropkick 插件下拉列表之前显示内联文本

twitter-bootstrap - Bootstrap 中模态对话框中的 href

android - Google AdMob 与 AdSense

adsense - google adsense 如何过滤无效点击?

html - Web 开发新手 - 网站在手机上显得很小

css - 响应式网页设计和固定边距