我有一個精美漂亮,優雅的網站,加載速度很快,直到橫幅廣告啓用!等待檢索頁面加載時間最多爲10秒,這對我來說真的很沮喪,因爲我花了很多時間優化了網站的其他部分。加速異步加載或緩存的外部橫幅廣告
我試圖通過ajax或類似的混合成功加載廣告。基於Flash的橫幅廣告和廣告只需從廣告服務器中獲取一小段html即可正常工作。然而,有一些(PaddyPower我在談論你)返回JavaScript並使用document.write()將html廣告附加到DOM。廣告從不顯示。
的子公司代碼:
<script type="text/javascript" src="someadserver.com/impression.aspx"></script>
返回的腳本由someadserver.com
document.write('Normal HTML code')
它必須是與跨站腳本和安全性,但我沒有這方面的專家。有沒有辦法實現我想要的?
我不認爲緩存是一種選擇,因爲它會歪曲展示/點擊率統計信息。
同時更改任何聯屬代碼不是一個選項,因爲它是客戶的網站,我想要一個穩定可行的解決方案,不依賴於黑客的廣告代碼。
---編輯---
我修改了廣告類返回由<無腳本>標籤,並在同一時間保存廣告代碼的靜態成員包圍了廣告代碼。只是我< /身體>標籤後,我在這裏使用此代碼:
<?php foreach(Advert::getCachedAds() as $id => $code): ?>
<div class="advert <?php echo $id ?>" style="visibility:hidden;">
<?php echo $code ?>
</div>
<?php endforeach; ?>
<script type="text/javascript">
$(function(){
$('.adContainer').each(function(index, object){
var advert = $('div.' + $(object).attr('id')).html();
$('div.' + $(object).attr('id')).html('');
$(object).html(advert);
});
});
</script>
這個工程相當不錯,並讓我想起了我們使用Netscape和撥入天使用舊斯庫爾圖像預裝載器腳本的連接。
爲了清楚起見,廣告是否會導致您網頁內容的其餘部分延遲加載,或者您只關注整個網頁加載時間? – rdjs
@rdjs - 由於廣告是內聯的,因此在呈現以下html之前,需要先解析所有外部鏈接。只要主要內容可見,我不介意外部內容是否仍在後臺悄悄加載。 –
看起來不錯。儘管提及Netscape和撥號連接讓我感冒了! ;) – rdjs