0

我在哪里或如何添加 FB sdk?我想添加分享按钮和页面框插件。

    <!-- fb stuff -->
    <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 = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.10&appId=${FB_APP_ID}";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));</script>
    <!-- /fb stuff -->
4

1 回答 1

2

在您的页面上包含一次 JavaScript SDK,最好是在开始<body>标记之后

来源:https ://developers.facebook.com/docs/plugins/share-button/#configurator

在 React 中,你也可以在你的 main componentscomponentDidMount函数中加载它,例如:

componentDidMount() {
    (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 = "//connect.facebook.net/en_US/sdk.js#xfbml=1version=v2.10&appId=${FB_APP_ID}";
          fjs.parentNode.insertBefore(js, fjs);
        }
    }(document, 'script', 'facebook-jssdk'));
}

如果fb-rootdiv 不存在,它将自动生成。

您可能需要使用FB.XFBML.parsein componentDidUpdate,确保您了解原因:https ://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/

当然你只能在加载了 JS SDK 之后才能使用 FB。这是该fbAsyncInit功能的示例:http: //www.devils-heaven.com/facebook-javascript-sdk-login/

于 2017-10-23T08:19:39.667 回答