我有一个漂亮而优雅的网站,可以快速加载,直到当然横幅广告已启用!等待检索最多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')
它必须与跨站点脚本和安全性有关,但我不是这方面的专家。有没有办法达到我想要的目的?
我不认为缓存是一种选择,因为它会扭曲展示次数/点击率统计信息。
同时更改任何会员代码也不是一个选项,因为它是客户的网站,我想要一个稳定且可行的解决方案,不依赖于黑客广告代码。
--- --- EDIT
我修改了我的广告类,以返回&lt; noscript&gt;所包围的广告代码标签,同时将广告代码保存在静态成员中。就在我的&lt; / body&gt;之后我在这里使用这段代码:
<?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和拨号连接时使用的旧的skool图像预加载器脚本。
答案 0 :(得分:1)
您可以将占位符div放在您想要广告的位置,在加载所有实际内容后加载广告,然后将加载的广告移动到位。
这对页面的整体速度没有帮助,但可以让您看到实际内容,而无需等待广告加载。