2012-04-13 109 views
11

我正在使用Google DFP。異步Google廣告與同步

如果我使用同步廣告從谷歌,我的網站載入緩慢,因爲它需要在加載網頁的同時加載廣告,如果廣告花費很長的迴應,那麼頁面的加載被暫停。

如果我使用異步廣告,這不是一個問題,因爲頁面將加載更多或不加載廣告。換句話說,它使網站加載速度更快。問題是,無論廣告是否顯示,使用異步廣告都會創建具有固定寬度和高度的div。所以通常這會在我的網站上創建大量空白空間,因爲並非所有的廣告位置都在使用。同步廣告也一樣。

谷歌提供不創建一個div第三個選擇,它只是使用JavaScript來顯示廣告,如果沒有任何廣告發布在該空間中,那麼它只是不顯示任何空白空間,是好的,但它的行爲同步...

我想要的是一些方法來使用異步廣告,並沒有得到空白的情況下,沒有廣告發布。

謝謝。

+0

你能證明你的工作的樣本? – Ibu 2012-04-13 18:40:50

回答

15

我想你要找的是

googletag.pubads().collapseEmptyDivs(); 

,將隱藏空的div時,有沒有廣告展示。此行之前調用它:

googletag.enableServices(); 

更多的文檔在這裏,以供參考: http://support.google.com/dfp_premium/bin/answer.py?hl=en&answer=1650154

+0

這應該被標記爲正確的答案。 – Olaj 2012-10-31 10:19:04

+1

我遇到的唯一問題是,在調用collapseEmptyDivs方法之前,它在頁面加載時導致了一個空白空間的閃爍。請參閱我的答案,瞭解我如何解決這個問題。 – 2013-07-29 18:51:28

0

呃..你可以嘗試一種解決方法..我不完全確定。但你可以試一試..

你有DIV在哪裏你的廣告將異步加載,所以你可以添加一個元素到它,任何虛擬物品和附加事件監聽器知道什麼時候它將被你的替換廣告。

您可以收聽DOMNodeRemoved當節點被移除時會觸發事件,並且您可以相應地調整div的大小然後讓我知道它是否有效或在此方面取得任何進展。

2

試試這個:

<div id='div-gpt-ad-YOURDFPIDGOESHERE-1' style='width:auto; height:auto; margin:0px auto; text-align:center;'> 

這應該伸展或收縮div來匹配廣告素材尺寸(甚至在一個更大的廣告位的中心小廣告)

1

中內嵌樣式添加display: none;爲包含div。

collapseEmptyDivs方法將內嵌樣式display: none;添加到父容器div。爲了防止多餘空白的閃爍,我首先嚐試在我的樣式表中添加display: none;作爲css樣式,但是當廣告成功加載到目標廣告單元空間時,樣式未被刪除。移動顯示:無;內聯似乎彌補了這個問題。

+3

您也可以將true傳遞給collapseEmptyDivs()方法調用。這開始他們崩潰,然後根據需要擴展它們。真的選擇你的毒藥。 – Justin 2013-10-11 20:56:03