百度联盟广告异步加载最优解决方案

时间:2022-08-25 13:15:08

联盟代码目前没有异步加载方式,但是百度广告管家中创建的广告位也可以建立联盟物料,并且提供了多种加载方式,如果页面中已加载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);