4

Я пытаюсь подписаться на мероприятие «edge.create» в сочетании с новой кнопкой Facebook Share без везения. Я использую стандартную подписку на событие:Функция обратного вызова с новой кнопкой Facebook Share

FB.Event.subscribe('edge.create', 
    function(response) { 
     console.log(response); 
    } 
); 

Событие не уволят ... Он работает вместо этого с помощью кнопки Like

Любое предложение?

ответ

4

Кнопка общего доступа к facebook устарела в пользу подобной кнопки. Из их документов:

Кнопка «Share» была устарела в пользу кнопки «Like», а больше не будет поддерживаться. Используйте кнопку «Избранное», когда можно управлять максимальным трафиком в ваших приложениях.

Вы можете использовать это событие с помощью подобной кнопки, однако если вы хотите отслеживать общую кнопку, это возможно с помощью javascript. Вы можете добавить событие click на свою кнопку совместного использования FB.

Вот пример, который я использую.

window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'your app id', 
     status: true, 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 

    $('#facebook-share').click(function() { 
     FB.ui({ 
      method: 'feed', 
      link: document.URL, 
      caption: 'example', 
     }, function (response) { 
      if (response === null) { 
       console.log('post was not shared'); 
      } else { 
       console.log('post was shared'); 
      } 
     }); 
    }); 
}; 

(function (d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 
0

Создать приложение facebook и получить одобренным это скучный и может занять столько времени ...

Альтернативный способ, который я сделал здесь, кто не хочет, чтобы опубликовать APP только для него:

jQuery("#div_share").click(function() { 

     var url = "http://www.facebook.com/sharer/sharer.php?u=YOUR_URL&title=YOUR_TITLE"; 

     var openDialog = function(uri, name, options, closeCallback) { 
      var win = window.open(uri, name, options); 
      var interval = window.setInterval(function() { 
       try { 
        if (win == null || win.closed) { 
         window.clearInterval(interval); 
         closeCallback(win); 
        } 
       } 
       catch (e) { 
       } 
      }, 1000); 
      return win; 
     }; 

     openDialog(url,'Facebook','width=640,height=580', function(){ 
      jQuery("#div_share").hide(); 
      jQuery("#formulario").show(); 
     }); 
    }); 

Он откроет диалоговое окно javascript для публикации и узнает, когда пользователь его закроет. Не гарантировано, что они действительно разделяют контент ... но .. :)