我正在帮助建立一个网站,我们遇到了网页加载时间问题,因为广告有时需要几秒钟才能加载。由于使用<来调用广告脚本>标记浏览器停止解析页面,直到广告完全加载。我们正在寻找的方法是从客户端加载广告,以便可以完全显示该页面,然后广告将开始加载,从而大大改善用户体验。
我已经尝试了很多工作来实现这一点,但实际上没有解决方案显示广告。您可以在http://magic.tcgplayer.com/看到该网站。页面顶部有一个广告作为横幅,右侧“列”中有另一个广告。两个广告都使用<脚本>标签。我试图使用延迟加载javascripts加载,但他们没有工作。我已经尝试过使用writeCapture.js(顺便说一下这是一个很棒的脚本),但广告没有加载。我查看了bezen.org和labjs.com解决方案,但我不确定如何应用这些资源中的想法。另请注意,广告脚本位于远程服务器上,无法复制到我们的服务器。
非常感谢任何帮助。
答案 0 :(得分:2)
将广告放入iframe中。 iframe应该使用document.write()加载JavaScript。
答案 1 :(得分: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的代码,来自google 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>
并加载框架。
答案 2 :(得分:0)