显示带有动态数据的Facebook分享按钮

时间:2019-06-23 08:44:28

标签: javascript jquery facebook-graph-api facebook-like

我进行了一个测验,希望将分数分享到Facebook,它通过将GET变量传递到PHP文件来工作,然后填充OG数据以分享给Facebook-一切正常,但是我的问题是共享按钮仅在测验完成时才需要显示,但我无法执行。

我尝试使用jquery切换来显示按钮,或使用jquery text()填充html ...我想它需要在页面加载时呈现。

  <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/sdk.js#xfbml=1&version=v3.0";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));</script>

<div class="result" style="display:none"></div>
<div class="fb-share-button" style="display:none" data-href="https://www.msuk-forum.co.uk/sharer.php?u=real-or-rc&t=Real or RC Quiz&d=I scored &i=quizshare" data-layout="button_count"></div>

  function returnScore(){
    $(".result").text("Nice work! You scored " + getScore() +" / "+ tot + "!");
    $(".result").toggle();
    $(".fb-share-button").toggle();
  }

  $('#questions').submit(function () {
    returnScore();
    return false;
  });

该按钮最终还将在共享按钮中具有来自getScore()的分数。但是目前,提交表单/测验后,我只需要使按钮全部显示即可。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果以后可以看到共享按钮,请使用FB.XFMBL.parse渲染。顺便说一句,动态OG标签不再可用,您需要为每个共享提供一个真实的URL。