自从用了AJAX后,JS重新加载问题就如家常便饭般层出不穷啊。没有系统学习过js感觉亚历山大。
百度分享创建了一个全局对象window._bd_share_main。通过window._bd_share_main.init()方法进行div标签的重新加载。
具体来讲就是在AJAX加载完成后在执行一下
window._bd_share_main.init();
百度分享,动态加载方案
var ele; var bdTitle; var bdAbstract; $(document).mouSEOver(function (e) { ele = e.target; }); //设置分享 function beforeShareClick(cmd,config,bdTitle,bdAbstract) { // 根据ele,获取 bdTitle,bdAbstract的值 //设置 config if (shareTitle) { config.bdText = bdTitle; config.bdDesc = bdAbstract; } return config; } //百度分享代码,放入 ajax请求成功后执行 function baiduShare(){ if(window._bd_share_main){ //先执行初始化bdshare window._bd_share_main.init(); } window._bd_share_config = { common: { onBeforeClick: beforeShareClick,bdText: bdTitle,bdDesc: bdAbstract,bdUrl: window.location.href } }; with (document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' + ~(-new Date() / 36e5)]; }