facebook的LIke按钮不会触发edge.create或edge.remove在网页中

use*_*502 2 javascript facebook facebook-like facebook-graph-api facebook-javascript-sdk

我更喜欢给出stackoverflow问题的答案

喜欢按钮不会激活edge.create或edge.remove.

但是当我在crome浏览器的开发人员工具控制台中看到时,我收到了以下错误

"未捕获的ReferenceError:FB未定义fb.php:20

应用程序配置不允许给定URL:应用程序的设置不允许使用一个或多个给定的URL.它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域."

代码如下

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<html xmlns:fb="http://ogp.me/ns/fb#">
 <body>
 <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/all.js#xfbml=1&appId=xxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
    }
);

FB.Event.subscribe('edge.remove',
    function(response) {
        alert('You UNliked the URL: ' + response);
    }
);

</script>
<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>

 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

怎么解决它请帮帮我.

感谢您.

Sah*_*tal 6

你没有初始化FB.init(),没有它你不能进行API调用 -

window.fbAsyncInit = function() {
    FB.init({
      appId      : '510509449056378',
      status     : true,
      xfbml      : true
    });
    FB.Event.subscribe('edge.create',
       function(response) {
         alert('You liked the URL: ' + response);
       }
    );

    FB.Event.subscribe('edge.remove',
      function(response) {
         alert('You UNliked the URL: ' + response);
      }
    );
};

(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/all.js#xfbml=1&appId=510509449056378";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
Run Code Online (Sandbox Code Playgroud)