Facebook点击像事件fb事件订阅不工作

时间:2017-06-06 13:52:14

标签: javascript facebook facebook-graph-api

这是我的代码。最后,您会看到对FB.Event.subscribe的javascript调用。在我的控制台中,它表示 FB未定义。我该怎么做才能让这个javascript捕获我的点击。

    <html>
    <head>
      <title>Your Website Title</title>
        <!-- You can use open graph tags to customize link previews.
        Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
      <meta property="og:url"           content="http://www.your-domain.com/your-page.html" />
      <meta property="og:type"          content="website" />
      <meta property="og:title"         content="Your Website Title" />
      <meta property="og:description"   content="Your description" />
      <meta property="og:image"         content="http://www.your-domain.com/path/image.jpg" />
    </head>
    <body>

      <!-- Load Facebook SDK for JavaScript -->
      <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.9";
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));</script>

      <!-- Your like button code -->
      <div class="fb-like"
        data-href="xxx.com"
        data-layout="standard"
        data-action="like"
        data-show-faces="true">
      </div>

    <script type="text/javascript">
    FB.Event.subscribe('edge.create', function(response) {
        alert('clicked');      
    }); 
    </script>


    </body>
    </html>

更新

这是我的更新(仍然无效)

      <script>

    window.fbAsyncInit = function() {
        FB.init({
          appId            : 'xxxxxx',
          autoLogAppEvents : true,
          xfbml            : true,
          version          : 'v2.9'
        });
        FB.AppEvents.logPageView();
      };


    (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.9";
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));</script>

      <!-- Your like button code -->
      <div class="fb-like"
        data-href="www.xxx.com"
        data-layout="standard"
        data-action="like"
        data-show-faces="true">
      </div>

    <script type="text/javascript">
    FB.Event.subscribe('edge.create', function(response) {
        alert('clicked');
    });
    </script>

最新更新

我将订阅代码放在异步调用中但仍无法正常工作。

    <html>
    <head>
      <title>Your Website Title</title>
        <!-- You can use open graph tags to customize link previews.
        Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
      <meta property="og:url"           content="http://www.your-domain.com/your-page.html" />
      <meta property="og:type"          content="website" />
      <meta property="og:title"         content="Your Website Title" />
      <meta property="og:description"   content="Your description" />
      <meta property="og:image"         content="http://www.your-domain.com/path/image.jpg" />
    </head>
    <body>

      <!-- Load Facebook SDK for JavaScript -->
      <div id="fb-root"></div>
      <script>

    window.fbAsyncInit = function() {
        FB.init({
          appId            : 'xxxx',
          autoLogAppEvents : true,
          xfbml            : true,
          version          : 'v2.9'
        });
        FB.AppEvents.logPageView();
        FB.AppEvents.subscribe('edge.create', function(response) { 
          alert('clicked');
        });

       // also tried:
       FB.Event.subscribe('edge.create', function(response) { 
          alert('clicked');
        });
      };


    (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";
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));</script>

      <!-- Your like button code -->
      <div class="fb-like"
        data-href="www.xxx.com"
        data-layout="standard"
        data-action="like"
        data-show-faces="true"
        >
      </div>

    </body>
    </html>

**这里是DIV HTML代码FACEBOOK给了我,我在JAVASCRIPT中记得**

var elm=newElement("div",this.canvas,"",0,"");
 elm.className="fb-like";
 elm.dataset.href="www.XXX.com";
 elm.dataset.layout="standard";
 elm.dataset.action="like";
 elm.dataset.showFaces=false;
 elm.style.marginTop="75px";
 elm.style.marginLeft="25px";
 console.log(elm);

0 个答案:

没有答案
相关问题