有人可以解释为什么我的自定义Facebook分享按钮不起作用吗?每当我单击该按钮时,共享窗口都不会显示。我已经在实际的网络服务器上将其作为html文件进行了尝试,并且我已经阅读了Facebook文档中有关共享按钮的所有内容。
当使用Facebook提供的相同代码时,它确实有效。
不过,单击按钮时我确实会收到此错误。
这是我的代码。(没有CSS,因为它更多一点,如果你需要它,我可以添加它。
<script type="text/javascript" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1"></script>
<div class="page-header">
<h1>Share Dialog</h1>
</div>
<p>Click the button below to trigger a Share Dialog</p>
<button class="fill" id="fb-share-button">Share on Facebook</button>
<script>
document.getElementById('fb-share-button').onclick = function() {
FB.ui({
method: 'share',
display: 'popup',
href: 'https://nureinberg.de',
}, function(response){});
}
</script>
你需要初始化FB SDK,
这包括FB.init
函数和具有<div id="fb-root"></div>
元素。
看看这支笔 - 它当然可以很好地减去应用程序 ID,但弹出部分有效:
https://codepen.io/xhynk/pen/MVKerM
我还将版本 ID 添加到sdk.js
脚本中 ( https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7
(
尝试将版本和应用 ID 添加到 JS SDK 源:
https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=<your-app-id>
虽然,我建议使用异步方式加载 JS SDK:https://developers.facebook.com/docs/javascript/quickstart
如果不想创建应用,请使用带有标准锚标记的共享者.php:
https://www.facebook.com/sharer/sharer.php?u=<encoded-url>
谢谢你的所有回答。它现在适用于以下代码。
我还为它创建了一个代码笔。
window.fbAsyncInit = function() {
FB.init({
appId : 'your-app-id',
cookie : true,
xfbml : true,
version : 'v2.7'
});
FB.AppEvents.logPageView();
};
document.getElementById('fb-share-button').onclick = function() {
FB.ui({
method: 'share',
display: 'popup',
href: window.location.href,
}, function(response){});
}