百度分享 ajax 或分页后显示不出问题解决方案

自从用了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)];
    }

猜你喜欢

转载自blog.csdn.net/hr541659660/article/details/78459739