首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过异步加载或缓存加速外部横幅广告

通过异步加载或缓存加速外部横幅广告
EN

Stack Overflow用户
提问于 2011-10-12 19:46:29
回答 1查看 1.2K关注 0票数 2

我有一个漂亮的光滑和优雅的网站,加载在两倍快的时间,直到横幅广告当然是启用!等待检索页面的加载时间加起来是10秒,这对我来说真的很令人沮丧,因为我花了很长时间来优化网站的其余部分。

我试图通过ajax或类似的加载广告,成功与否参差不齐。基于flash的横幅和简单地从广告服务器获取html片段的广告工作得很好。但是,有一些(我说的是PaddyPower)会返回javascript并使用document.write()将html广告附加到DOM中。广告永远不会显示。

合作伙伴代码:

代码语言:javascript
复制
<script type="text/javascript" src="someadserver.com/impression.aspx"></script>

someadserver.com返回的脚本

代码语言:javascript
复制
document.write('Normal HTML code')

它必须与跨站点脚本和安全有关的事情,但我不是这方面的专家。有没有办法实现我想要的东西?

我不认为缓存是一种选择,因为它会扭曲印象/点击统计数据。

此外,改变任何联盟代码不是一个选择,因为它是一个客户的网站,我想要一个稳定和可行的解决方案,不依赖黑客广告代码。

-编辑

我修改了我的广告类,返回由标签包围的广告代码,同时将广告代码保存在一个静态成员中。在我的标签之后,我使用下面的代码:

代码语言:javascript
复制
    <?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图像预加载器脚本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-12 20:23:58

您可以将占位符div放在您想要的广告位置,在所有实际内容加载后加载广告,然后将加载的广告移动到适当的位置。

这对页面的整体速度没有帮助,但可以让你的实际内容在不必等待广告加载的情况下被看到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7739577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档