将FB.Event.subscribe'bend.create'隔离为单个按钮

时间:2012-05-15 08:36:46

标签: facebook google-analytics facebook-like

这是我的第一个stackoverflow问题。耶。

确定。我正试图通过使用谷歌分析来为一个特色的facebook按钮分割测试或a / b测试副本:

_gaq.push(['_trackEvent', 'facebook', 'click', 'amazing copy that hypnotizes user into clicking like']);

到目前为止一切都很精致。

为了统治喜欢/不喜欢我找到了这个片段:

<script type="text/javascript">
<!--
    FB.Event.subscribe('edge.create', function(href, widget) { _gaq.push(['_trackEvent', 'facebook', 'click', 'amazing copy that hypnotizes user into clicking like']); });
    FB.Event.subscribe('edge.remove', function(href, widget) { _gaq.push(['_trackEvent', 'facebook', 'click', 'amazing copy that hypnotizes user into clicking like']); });
-->
</script>

好的,到目前为止每个人都和我在一起?现在这(理论上)会给我喜欢和不喜欢特色实验的按钮,但是它也会在页面上的其他类似按钮上发送数据,对吗?

问题是:如何在单击所需的like按钮时将edge.create回调(或其他)隔离开来?是否有参数或参数我可以传递给fb.event.subscribe,它会检查“喜欢的”网址是否是所需的Facebook页面,也许?或者如果喜欢的网址与域名不同?

我是js,jquery以及除了基本的php,html或css之外的任何东西。请帮忙! :P

2 个答案:

答案 0 :(得分:0)

这是FB.Event.subscribe的实际文档。

我不知道你的代码片段在哪里但文档说它只在回调中返回1个参数。

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

如果你想分开类似的按钮,答案不在于你传递给函数的内容,而在于你从回调中得到的内容。

在您收到回复的数据后,您可以在此处执行所需的单独操作,并希望每个网址都受到欢迎。响应中的“数据”是用户喜欢的网址。

以这种思维方式,你应该:

FB.Event.subscribe('edge.create', function(response) {
    if(response == "FULL-URL-YOU-WANT-SEPARATED"){
        _gaq.push(['_trackEvent', 'facebook', 'click', 'amazing separate copy that hypnotizes user into clicking its own like button']);
    }
});

如果您想检测该网址是否来自特定网域的任何链接,您可能需要get the URL's domain并检查是否回复startsWith

修改

试试这个,看看是否只有当点击你自己喜欢的按钮时弹出框。

FB.Event.subscribe('edge.create', function(response) {
    if(response == "https://www.facebook.com/mysticpoliticsradio"){
        alert("Your like button has been clicked.");
        _gaq.push(['_trackEvent', 'facebook', 'click', 'amazing separate copy that hypnotizes user into clicking its own like button']);
    }
});

答案 1 :(得分:0)

一样使用它
function(response,widget) {
    if(widget.dom.id == "your fb_button_id"){
        alert("Your like button has been clicked.");
        _gaq.push(['_trackEvent', 'facebook', 'click', 'amazing separate copy that hypnotizes user into clicking its own like button']);
    }
}

像这样添加你的fb按钮

<div class="fb-like" data-send="false" data-layout="box_count" id="fb_button_id"></div>