1.问题
在使用ajax请求刷新局部页面后,发现百度分享无法正常使用了。初步估计是因为更新了百度分享的那部分页面但没有重新加载百度分享js导致。
2.重新加载百度分享
按照上面上面的猜测重新加载了百度分享的js。发现还是没有效果,看了百度js里面的一段代码如下:
window._bd_share_main?window._bd_share_is_recently_loaded=!0:(window._bd_share_is_recently_loaded=!1,window._bd_share_main={version:"2.0",jscfg:{domain:{staticUrl:"http://bdimg.share.baidu.com/"}}}),!window._bd_share_is_recently_loaded&&(window._bd_share_m
_bd_share_is_recently_loaded似乎有判断最近是否有加载过,所以直接重新加载是没有效果的。
3.解决办法
window._bd_share_main.init();在后面重新加载前调用初始化方法,重新初始化一下百度分享组建即可。
本文参考资料
ajax局部刷新后,如何让局部中的百度分享重新加载