2016-04-30 51 views
4

我有一個網站,它的佈局使用角材料和flexbox。我試圖在其中一個Flexbox容器中包含Google Adsense代碼段,但它給了我錯誤:「adsbygoogle.push()錯誤:無可用寬度= 0的插槽大小」。但是,如果我在Flexbox容器外部放置相同的片段,它將正常運行。Flexbox導致adsense錯誤:「adsbygoogle.push()錯誤:沒有可用寬度= 0的插槽大小」

這並不理想,因爲我的整個網站都是用flexbox製作的。所以我想找到一種方法在flexbox容器內完成這項工作。

這裏是我的代碼片段:

<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> 

我也試着更換全部引用在谷歌的廣告只顯示彎曲:塊;我試過使用寬度,沒有寬度,最小寬度,最大寬度,所有他們在一起。我試圖把它包裹在一個flexbox列的div中,我試着把它放在一個顯示div的塊中:block;固定寬度等。

它似乎沒有工作。

任何想法?

有沒有辦法向Google報告這個(可能的)錯誤?

回答

0

您需要定義您的在寬度PX,而不是

試着看看here它可能會幫你。

+0

這真的不太理想,是不是完全沒有達到響應廣告的目的? – Justin

+0

其解決方法;我已經使用了最大寬度,它也工作 – Frix33

0

我剛剛遇到了這個問題,並尋求幫助。

只能找到設置固定寬度的信息(在PX?中)。

我知道這是不正確的,我目前有一個寬度爲90%的框,工作正常。

讓我惱火的一件事是在大型顯示屏上,谷歌廣告從不居中。

我嘗試將其轉入Flexbox以調整內容,這就是我的問題開始的地方。

我通過設置setTimeOut和addclass來解決這個問題。

function centerAd() { 
    $("#adBlock").addClass("adBlock"); 
    } 

    var timeoutID; 
$(function() { 
    timeoutID = window.setTimeout(centerAd, 1000); 
}) 

與類:

.adBlock {display: flex; justify-content:center; align-items:center; align-content:center} /* We call this after page has loaded to center ad */ 

它給谷歌的廣告有足夠的時間來嗅探元素的寬度,然後中心好聽。通常無縫。