自定义Facebook共享按钮不起作用



有人可以解释为什么我的自定义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){});
}

最新更新