我在哪里或如何添加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 -->
答案 0 :(得分:2)
在您的网页上包含一次JavaScript SDK,理想情况下在开放
<body>
代码后
来源:https://developers.facebook.com/docs/plugins/share-button/#configurator
在React中,您也可以将其加载到主要组件componentDidMount
功能中,例如:
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-root
div如果不存在则会自动生成。
您可能需要在FB.XFBML.parse
中使用componentDidUpdate
,请确保理解原因:https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse/
当然,您只能在加载JS SDK后使用FB。以下是fbAsyncInit
函数的示例:http://www.devils-heaven.com/facebook-javascript-sdk-login/