隐藏分区内的社交媒体按钮

Social Media buttons inside hidden Div

本文关键字:媒体 按钮 分区 隐藏      更新时间:2023-09-26

有人能让FacebookLike、TwitterFollow和Google+1按钮在chrome扩展中工作吗。

我可以显示按钮和一些功能,但似乎缺少部分。例如,"点赞"按钮不记得你是否喜欢它,它每次都显示1的计数。Twitter没有显示正确的关注者数量,并且在"关注"文本后面缺少@username。

我知道扩展是沙盒式的。有人找到办法绕过这个吗?实例密码

更新

问题是社交媒体按钮位于隐藏的div中(display:none)。div使用jQuery的slideToggle来显示和隐藏。默认情况下,div不显示,社交媒体按钮在上面。当我把社交媒体按钮放在未隐藏的div中时,它们可以正常工作。有什么解决方案吗?

问题是社交媒体按钮在一个隐藏的div(一个可以通过选项卡访问的不同显示)中。有没有办法让它们在不更新触发事件的z索引的情况下工作?

它们在扩展页面中工作。您必须明确指定一个公共URL,并且必须修改facebook/twitter以明确包含该协议。//platform.twitter.comhttps://platform.twitter.com

popup.html

<html>
<body>
  <a href="https://twitter.com/twitter" class="twitter-follow-button" data-show-count="false">Follow @twitter</a>
  <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
  <div id="fb-root"></div>
  <script>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "https://connect.facebook.net/en_US/all.js#xfbml=1&appId=113869198637480";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));</script>
  <div class="fb-like" data-href="http://example.com" data-send="false" data-layout="button_count" data-width="250" data-show-faces="false"></div>
  <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  <g:plusone href='http://example.com'></g:plusone>
</body>
</html>

manifest.json

{
  "name": "test",
  "version": "1",
  "browser_action": {
    "default_popup": "popup.html"
  }
}

问题已解决。我将标记添加到标记页面,并在slideToggle开始后立即对API脚本进行匿名函数调用。效果完美。