我想使用fbi . event .subscribe记录跟踪值在Facebook喜欢按钮,但遇到了一个问题

I want to use FB.Event.subscribe to record tracking value on Facebook like button, but met one issue

本文关键字:遇到 按钮 问题 一个 喜欢 Facebook fbi event subscribe 跟踪 记录      更新时间:2023-09-26

问题的描述是,如果我们想在FB &Twitter按钮时,我们必须使用XFBML方法开发Facebook按钮(请参阅http://developers.facebook.com/docs/reference/plugins/like/),因为只有XFBML方法支持使用Facebook Api捕捉Facebook像按钮的单击事件(无论哪一种方法我们使用开发的按钮,按钮总是将变成一个iframe在HTML中,元素在iframe是不同的领域从我们的网站,所以我们不能控制在iframe元素,Facebook,Twitter api提供了一些可用于开发和控制按钮,但这些api只可以利用XFBML方法调用),我们尝试使用Facebook api FB.Event.subscribe(请参阅http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/查看细节),赶上了Facebook上的单击事件按钮和启用跟踪,它工作和跟踪价值可以成功返回,但是我们的问题是:如果我们使用的文章,图库页面(文章&画廊包含FB &Twitter按钮),也使用FB &在NetworkHeader上的Twitter按钮,像这样:

如果我们单击按钮标题,它将调用跟踪功能和发送跟踪值,但在单击按钮标题,然后单击按钮在文章或画廊,它不会返回任何跟踪价值,我们的问题是:我们不能区分相对跟踪价值在标题或文章中,这意味着如果我们在头单击按钮,这将调用FB.Event.subscribe和启用跟踪功能,但在相同的HTML,文章还将运行FB.Event按钮。订阅,虽然我们使用独立的JS文件,这只是为FB &Twitter按钮的头部,我们无法控制或修改Api从Facebook或Twitter,无论哪个按钮(在文章或标题),我们点击,它总是会调用第一个JS文件加载包含FB. event .subscribe函数,其他Facebook按钮在相同的HTML也将运行该函数,这意味着,如果我们点击其他FB &推特按钮在文章或图库,跟踪值是错误的,它将返回标题按钮的跟踪值。

如果有什么办法可以解决这个问题,你能帮我一个忙吗?

谢谢,伊凡

我曾经在一个项目中做过类似的事情,我是这样做的。

首先,XFBML实现的Facebook社交插件并不是唯一能够触发事件的类型——HTML5版本也可以。我建议使用这个版本,因为HTML5只是更好的标记。

因此,这里的技巧是提供ref属性作为元素的一部分,例如:
<div class="fb-like" 
    data-href="https://www.facebook.com/" 
    data-send="false" 
    data-action="like" 
    data-layout="button_count" 
    data-width="150" 
    data-show-faces="false" 
    data-font="arial" 
    data-ref="header">
</div>

然后在您的FB.Event.subscribe函数中,您可以执行以下操作:

FB.Event.subscribe('edge.create', function(targetUrl, elm) {
    switch(elm._attr.ref) {
        case 'header':
            // tracking code
            break;
        case // ... etc
    }
});