2

我们的服务允许任何公司为其业务进行促销。

用户设置促销,复制一段代码,并将其放置在他们的网站上,该网站在 iframe 中显示促销。

促销页面嵌入了 Facebook 点赞按钮,点击后会自动“点赞”该公司的 Facebook 页面。

我们希望跟踪这些点击并在他们的仪表板中为我们的用户显示它们,这样他们就可以看到促销给他们带来了多少新的“喜欢”。

我们尝试使用 FB.Event.subscribe,但单击“赞”按钮时未触发事件。我们对使用 FB SDK 真的很陌生,所以我们可能遗漏了一些东西......这是我们所拥有的:

 window.fbAsyncInit = function() {
    FB.init({
      appId      : '424426844274364', // App ID
      channelUrl : '//www.viralsweep.com/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });

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


    // Additional initialization code here
  };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));
4

1 回答 1

0

首先你需要加载 sdk.js

<script src ="https://connect.facebook.net/en_GB/sdk.js" ></script>

然后你调用函数

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

现在,由于在加载 sdk 之前调用了该函数,因此无法找到 FB 对象。

于 2018-02-11T16:51:17.367 回答