2010-12-13 24 views
1

由於有時需要幾秒鐘才能加載廣告,因此我正在幫助使用網站,並且我們遇到了頁面加載時間方面的問題。由於使用<腳本>標籤調用廣告,瀏覽器將停止解析頁面,直到廣告完全加載。我們正在尋找的是從客戶端加載廣告的方式,以便頁面可以完全顯示,然後廣告將開始加載,從而大大提高用戶體驗。如果廣告使用document.write,如何在頁面上最後加載廣告代碼或異步加載廣告代碼?

我已經嘗試了很多事情來使這個工作,但沒有解決方案實際上顯示廣告。你可以在http://magic.tcgplayer.com/看到這個網站。有一個廣告作爲橫幅,位於頁面頂部,另一個位於右側的「列」中。這兩個廣告均使用<腳本>標籤加載。我試圖加載使用懶加載JavaScripts,但他們沒有工作。我已經嘗試使用writeCapture.js(順便說一句很好的腳本),但廣告不加載。我查看了bezen.org和labjs.com解決方案,但我不確定如何應用這些資源中的想法。另請注意,廣告腳本位於遠程服務器上,無法複製到我們的服務器。

任何幫助,非常感謝。

+1

哦嵌套表格佈局...:/ – 2010-12-13 22:05:44

回答

0

由於事情發展,現在可以使用deferasync屬性。

我使用async加載我的腳本,但defer對較舊的瀏覽器更安全。

請參閱W3 Schools其中包含異步和延期的詳細信息。

2

將廣告放入iframe中。 iframe應該用document.write()加載JavaScript。

2

我試圖找到一些異步加載谷歌廣告的方式,我發現它。

一個大網站douban使用iframe來保存js和異步加載iframe。

這是js代碼:

function google_ad() { 
    function createIframe() { 
     var ad_frame = document.createElement("iframe"); 
     ad_frame.src = "/js/google_ad.htm"; 
     ad_frame.id = "google_ad_frame"; 
     ad_frame.scrolling = "no"; 
     ad_frame.width = "260px"; 
     ad_frame.height = "260px"; 
     document.getElementById("google_ad").appendChild(ad_frame); 
    }; 

    if (window.addEventListener) { 
     window.addEventListener("load", createIframe, false); 
    } else if (window.attachEvent) { 
     window.attachEvent("onload", createIframe); 
    } else { 
     window.onload = createIframe; 
    } 
} 

這是iframe的代碼,這是從谷歌的AdSense:

<script type='text/javascript' src='http://partner.googleadservices.com/gampad/google_service.js'> 
</script> 
<script type='text/javascript'> 
    GS_googleAddAdSenseService("ca-pub-1281485759256908"); 
    GS_googleEnableAllServices(); 
</script> 
<script type='text/javascript'> 
    GA_googleAddSlot("ca-pub-1281485759256908", "ad_right"); 
</script> 
<script type='text/javascript'> 
    GA_googleFetchAds(); 
</script> 

<script type="text/javascript"> 
    GA_googleFillSlot("ad_right"); 
</script> 

所以,我就用這個:

<div id="google_ad" style="margin-top:20px;text-align:center;border:solid 17px #FFFFFF;"> 
    <script type="text/javascript">google_ad();</script> 
</div> 

並且,它加載框架。