我有一个精美漂亮,优雅的网站,加载速度很快,直到横幅广告启用!等待检索页面加载时间最多为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