2010-02-21 66 views
1

我的頁面上有一個腳本,用於將廣告網絡中的內容加載到div中。該廣告網絡的填充率爲80%,即80%的時間內只投放廣告,另外20%的時間不顯示廣告。可悲的是,廣告網絡並沒有給我回電,告訴我它何時沒有投放廣告。因此,有時這個div顯示一個廣告,而其他時間則是空白。如何檢查div中是否有任何內容

這在我的網站上看起來非常可怕,並且讓我成爲一隻可悲的熊貓。有沒有辦法檢查是否有任何內容是可見裏面的div?如果我知道這一點,我會知道什麼時候顯示div,以及何時隱藏它。

這聽起來像是一個難以解決的問題,但我想看看是否有任何解決方案。對你來說,大師。

+0

它是否提供空白*圖片*,還是隻是沒有內容? – womp 2010-02-21 05:08:49

+0

這取決於 - 大多數廣告腳本加載其他*廣告腳本,並且在沒有內容顯示時似乎有兩個大桶: 1)存在iframe空格的iframe(有時是iframe中的iframe)標記 2)平原空格 #1似乎更普遍 – 2010-02-21 05:13:00

+0

順便說一句,它*總是*提供一個空白的圖像......但這是一個跟蹤信標。樣本內容的Pastie: – 2010-02-21 05:15:15

回答

-1

當廣告成功投放時,IFrame是否有圖片標籤?

0

我想說最好的解決方案是尋找更可靠的廣告網絡。但是,您可以通過在jQuery對象上使用length屬性來檢查是否存在任何DOM元素。例如:

if (!$('#adframe img').length) { 
    // the ad image doesn't exist, so do something to deal with it 
} 

這只是一個普通的例子,因爲我不知道自己的廣告標記的結構或有時缺什麼元素,但​​有一點是使用length屬性,看看有多少元素的選擇火柴。如果它沒有找到該元素,該值將爲零,您可以使用它來採取一些行動。

0

在這裏假設Div可見性不是由廣告設置的。這是sudo代碼。

1)使用編號或名稱,分配到div可變

var myDiv=document.getElementsByName("divName"); 

2)將格內的文本到一個變量

var myAd = getInnerText(myDiv); 

3)檢查內部文本div如果爲空

if(typeof(myAd) == '' || myAd == null) 

4.)根據DIV標籤之間的文本更改DIV的可見性。

0

有一些實際的標記會有所幫助,但是如果我正確地閱讀你,你通常有一個空的div,然後有時有一個iframe或嵌套iframe或類似的可怕東西。當韓元

$("#ad-container div:empty").hide(); 

(更換#ad-container div不管你使用。)

同時,針對時間:

所以我想用兩個並行的解決方案:首先,最簡單的jQuery的解決辦法是沒有工作(令人討厭的iframes和東西),使用CSS提供備份背景圖像,也許提升自己或只是使空間看起來更好。只是基本的,就像這樣:

#ad-container { background-image: url(...);background-repeat:none; } 

當廣告投放後,圖像將被覆蓋。當不是的時候,備份會在你身邊。

相關問題