【发布时间】:2016-08-25 14:56:18
【问题描述】:
我有一个网站,它使用 angular-material 和 flexbox 进行布局。我试图在这些 flexbox 容器之一中包含一个 Google Adsense sn-p,但它给了我错误:“adsbygoogle.push() 错误:availableWidth=0 没有插槽大小”。但是,如果我将相同的 sn-p 放在 flexbox 容器之外,它可以正常运行。
这并不理想,因为我的整个网站都是用 flexbox 制作的。所以我想找到一种方法在 flexbox 容器中完成这项工作。
这是我的代码的 sn-p:
<div layout="column" layout-align="center center" layout-padding="" flex="flex" class="scroller container">
<div flex="" hide-xs="" show-gt-xs="">
<h1>My Account</h1>
</div>
<welcome></welcome>
<script async="" defer="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- responsive ad-->
<ins flex="grow" style="width:100%;min-width:100px;height:100px;" data-ad-client="ca-pub-IDISHEREONMYSITE" data-ad-slot="IDISHEREONMYSITE" data-ad-format="auto" class="adsbygoogle"></ins>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
(adsbygoogle = window.adsbygoogle || []).push({})
});
</script>
</div>
我还尝试将谷歌广告中对 flex 的所有引用替换为 display:block;我试过使用宽度,没有宽度,最小宽度,最大宽度,所有这些都在一起。我试过把它包裹在一个 div 中,它是一个 flexbox 列,我试过把它放在一个 div 中,它是 display:block;具有固定宽度等。
似乎都不起作用。
有什么想法吗?
有没有办法向 Google 报告这个(可能的)错误?
【问题讨论】:
标签: javascript css flexbox angular-material adsense