百度联盟广告异步加载最优解决方案
author:一佰互联 2019-04-18   click:227

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