Facebook发送的Javascript事件处理程序

Facebook发送的Javascript事件处理程序,javascript,facebook,facebook-like,Javascript,Facebook,Facebook Like,我正在将Facebook的Send按钮集成到我们的网站上,并尝试在用户将页面发送给某人时运行一些javascript。使用类似Facebook的按钮,您可以通过javascript订阅edge.create事件,当用户喜欢该页面时触发该事件。Facebook的“发送”按钮是否有同等功能?我对它进行了测试,edge.create没有捕捉到发送按钮 那么基本上,Facebook发送按钮是否有javascript事件处理程序?嗯,您是否尝试添加一个函数来查找发送按钮,并在添加时向其添加您自己的单击侦听

我正在将Facebook的Send按钮集成到我们的网站上,并尝试在用户将页面发送给某人时运行一些javascript。使用类似Facebook的按钮,您可以通过javascript订阅
edge.create
事件,当用户喜欢该页面时触发该事件。Facebook的“发送”按钮是否有同等功能?我对它进行了测试,
edge.create
没有捕捉到发送按钮


那么基本上,Facebook发送按钮是否有javascript事件处理程序?

嗯,您是否尝试添加一个函数来查找发送按钮,并在添加时向其添加您自己的单击侦听器

您将无法获得任何诸如response.session之类的信息,但您可以统计单击按钮的人数


我能理解为什么他们没有包括任何可以通过FB.event.subscribe订阅的内容。当他们喜欢您的页面时,页面上的connect元素会在页面重新加载时用它们的信息填充(您可以在触发的方法中重新加载页面)。他们可以将您的页面发送给不喜欢您的人。

您要查找的事件是“message.send”。根据的规定,您应该能够通过直接向类原型订阅来添加自己的侦听器

例如,渲染后,我们使用此选项重新定位“相似/发送”菜单:

        var Like = FB.CLASSES['XFBML.Like'];
        Like.prototype.subscribe('xd.presentEdgeCommentDialog', function(a){

            setTimeout(function(){
              var el = $('#like-btn > span.fb_edge_comment_widget');
                    // console.log(a);
                    // console.log(el);
                    el.css('left', '-200px');
                    el.css('top', '20px');
            }, 500);
        })
您可以订阅的确切事件取决于类。您需要通过查看JSSDK来研究这一点,然后回溯正在触发的事件


祝你好运。

我尝试像你提到的那样手动添加事件处理程序,但不幸的是,由于它们的XFBML转换为iframe,因此访问iframe中的元素违反了浏览器安全性。很不幸,我认为这是不可能的,但是如果你知道这样做的诀窍,请让我知道,因为那太棒了。这太完美了,谢谢!我最初查看的是subscribe events()和Like按钮()的文档,没有一个提到这个事件。我讨厌公司为找到正确的文档而感到痛苦。谢谢你!