百度联盟广告异步加载最优解决方案
脚本之家
联盟代码目前没有异步加载方式,但是百度广告管家中创建的广告位也可以建立联盟物料,并且提供了多种加载方式,如果页面中已加载JQuery的话可以用下面这段代码
$.getScript("http://cbjs.baidu.com/js/m.js", function() {
BAIDU_CLB_fillSlotAsync("12345","your_id");
BAIDU_CLB_fillSlotAsync("23456","your_id2");
});
如果嵌套到JQuery的ready函数中,这种方式加载的广告丝毫不会影响页面速度,当然广告的显示根据页面不同,会有一定延迟.如果很追求网站速度而不在乎广告加载快慢的话,我们甚至可以把它放到一个setTimeout中去,倒计时1-2秒之后才触发广告加载.
如果没有加载JQuery的情况可以使用原生的异步加载方式
<script type="text/javascript" src="http://cbjs.baidu.com/js/m.js"></script>
<script type="text/javascript">
BAIDU_CLB_fillSlotAsync("12345","your_id");
BAIDU_CLB_fillSlotAsync("23456","your_id2");
</script>
当然还有一种情况就是,在不想加载JQuery的情况下想使用setTimeout去做倒计时,可以参考谷歌统计的代码来这么写
var cpro_id = "u123456";
setTimeout(function () {
(function() {var du = document.createElement('script'); du.type = 'text/javascript'; du.src = 'http://cpro.baidustatic.com/cpro/ui/c.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(du, s);})();
},1000);