使用百度分享的时候,如果所涉及到的html部分是后加载进来的,如ajax等异步请求成功后,加载进来,那么百度分享就有可能出现错误。
我在使用的时候,遇到了两个问题。在这里记录一下。
1、无法把所需要分享的内容传值到百度分享里。
    百度分享的配置里有两个值,bdText,bdDesc,这两个内容,分别分享标题和内容。
    内容是异步加载进来的,所以在百度分享相关代码是在加载成功后运行的。但是,在使用中,始终无法将想分享的内容,传值给bdText,bdDesc。
    后来,在百度分享的api里发现了一个事件:onBeforeClick,在分享前的点击事件。于是我就先获取鼠标所在元素,然后在onBeforeClick事件里,根据鼠标所在元素定位获取到所需要分享的内容,进行传值。
2、分页时,百度分享无效。

当点击到第二个及以后时,百度分享无效。通过百度查,网上 hupan508给出了解决方案。因为百度分享执行后,会创建全局的window.__bd_share_main,所以   需要在 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的值//设置 configif (shareTitle) {config.bdText = bdTitle;config.bdDesc = bdAbstract;}return config;}//百度分享代码,放入 ajax请求成功后执行function baiduShare(){if(window._bd_share_main){          //先执行初始化bdsharewindow._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)];}

百度分享异步加载问题、分页,无效果解决相关推荐

  1. turn.js异步加载实现翻书效果

    <div class="m-art-cont"><script type="text/javascript" src="/Runti ...

  2. Android进阶:ListView性能优化异步加载图片 使滑动效果流畅

    ListView 是一种可以显示一系列项目并能进行滚动显示的 View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很 ...

  3. turn.js 异步加载实现翻书效果

    1.阅读翻书js /*** 电子翻书*/ //var width = 1080; //var height = 1680;var width = "10rem"; var heig ...

  4. ajax局部刷新后,如何让局部中的百度分享重新加载

    我这个人不怎么喜欢说太多话,看几个图你们就懂了 Ajax前 Ajax之后 原因分析 解决方法 收工 百度分享是集成了众多主流第三方网站分享和收藏按钮的工具. 通过百度分享轻松将主流第三方网站的分享按钮 ...

  5. 百度联盟广告代码php,百度联盟广告异步加载的方法

    百度联盟广告很多个人站长都在用 ,虽说不指望靠它挣大钱 ,但是补贴下域名服务器费用也是极好的. simon最近一直在尝试优化页面载入速度,好提升用户体验,但后来发现只要加载了百度联盟的广告,页面加载时 ...

  6. 百度联盟广告代码php,js 投放联盟广告代码可异步加载百度联盟广告

    js 投放联盟广告代码一般方法介绍,普通的加载方式容易阻塞页面加载,所以我们使用异步加载百度联盟广告代码,广告js代码就可以异步加载无阻塞 如果你有一个网站或者个人博客,想投放百度联盟广告代码以获取收 ...

  7. Jquery前端分页插件pagination同步加载和异步加载

    上一篇文章介绍了Jquery前端分页插件pagination的基本使用方法和使用案例,大致原理就是一次性加载所有的数据再分页.https://www.jianshu.com/p/a1b8b1db025 ...

  8. ajax实现向上正在加载,向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)

    /**** desc : 分页异步获取列表数据,页面向上滚动时候加载前面页码,向下滚动时加载后面页码 ajaxdata_url ajax异步的URL 如data.php page_val_name a ...

  9. android 图片加载 软引用_Android 异步加载网络图片并缓存到本地 软引用 学习分享(转)...

    迪 王. 于 星期四, 20/02/2014 - 21:36 提交 在android应用开发的时候,加载网络图片是一个非常重要的部分,很多图片不可能放在本地,所以就必须要从服务器或者网络读取图片. 软 ...

  10. 关于Vue admin 框架中 Pagination 分页 异步加载的问题

    关于Vue admin 框架中 Pagination 分页 异步加载的问题 贴代码 核心代码: this.$emit('update:page', this.currentPage) this.$em ...

最新文章

  1. python加颜色_Python 给屏幕打印信息加上颜色的实现方法
  2. texturepacker使用心得
  3. 判断一个数列是不是搜索二叉树后续遍历输出的结果
  4. 双层json报文样例_json报文解析
  5. 单片机知识点总结框图_单片机原理及应用期末考试必考知识点重点总结
  6. IndirectmodificationofoverloadedelementofXXXhasnoeffect的解决办法
  7. 给软件工程师的学习参考
  8. xtrabackup 升级 mysql_使用percona-xtrabackup-2.0.8将MySQL从5.1.73升级到5.6.36
  9. IT兄弟连 JavaWeb教程 文件下载技术
  10. eigen之eigen中文文档
  11. 如何用C#代码判断一个类的类型
  12. java-web学习笔记(第一章)
  13. Java 八大排序算法
  14. Mini2440开发板串口连接
  15. Python:OpenCV4人脸关键点检测以及表情检测
  16. 斯托克斯定理(Stokes' theorem)
  17. Python房贷计算器GUI(等额本息,等额本金)
  18. 计算机加内存还是固态硬盘,电脑慢加内存还是固态硬盘好
  19. 《HelloGitHub》第 48 期
  20. 出场、入场动画大全,基于NineOldAndroids轻松实现动画效果

热门文章

  1. Spring Cloud使用Dubbo实现Rpc调用失败之配置错误
  2. 数据库系统原理与应用教程(039)—— MySQL 查询(一):SELECT 命令的语法分析
  3. 上海--黄山三日自助游功略白金终极版
  4. dispatch_once造成的死锁问题
  5. 用Java输出高频词_编程高阶用法--开发者高频词汇
  6. 网页嵌入flash动画视频的几种方法
  7. Python实战回归模型-消费者人群画像-信用智能评分(基于中国移动用户数据)
  8. Dzzoffice 部署
  9. url“forum.php,如何让discuz论坛首页打开不显示forum.php的方法分享
  10. CWE ID 470:Use of Externally-Controlled Input to Select Classes or Code (‘Unsafe Reflection‘)