微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 动态和异步加载多个LinkedIn共享按钮

我有一个页面显示帖子的缩略图.帖子通过AJAX获取,过滤器允许获取不同的帖子.单击缩略图时,将在点击的帖子中心打开轮播.轮播中的每个帖子都有一个LinkedIn分享按钮.

如果加载到不可见元素中然后再加载,则链接共享按钮无法正常工作.因此我们必须在打开旋转木马时加载它们.我使用以下代码执行此操作:

$.getScript('http://platform.linkedin.com/in.js', function() { 
  $('.li-Box-1').append('<script type="IN/Share" data-counter="right"></script>');
});

现在,如果我关闭轮播并选择一个过滤器,从而获取一组不同的帖子,然后点击其中一个,轮播显示没有LinkedIn分享按钮,我们在控制台中收到此警告:

加载了重复的in.js,将忽略任何参数

这是因为我们已经加载了LinkedIn的in.js.有谁知道怎么解决这个问题?

解决方法:

这是在.js库中调用所需链接代码.
我们通过检查变量IN是否未定义来检查先前是否已加载库.并基于我们第一次加载库,或忽略它.
这段代码将放在你的< header>中标签,< body>之后标签,或在< / body>之前,不知道你的情况.

<script>
if (typeof (IN) !== 'undefined') {
  // IN.parse(); // old but still supports
  IN.init();  // reinitiating linkedin button  
} else {
  $.getScript("http://platform.linkedin.com/in.js");
}   
</script>  

或者你可以这样做:

<script>
  delete IN;
  $.getScript("http://platform.linkedin.com/in.js")
</script>

现在,您将使用特定的旋转木马或旋转木马项目放置此代码.

<script type="IN/Share" 
        data-url=" **code to generate your url** " 
        data-counter="right">
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐