Javascript 我想使用FB.Event.subscribe在Facebook上像按钮一样记录跟踪值,但遇到了一个问题

Javascript 我想使用FB.Event.subscribe在Facebook上像按钮一样记录跟踪值,但遇到了一个问题,javascript,facebook,Javascript,Facebook,问题的描述是,如果我们想给FB&Twitter按钮添加跟踪功能,我们必须使用XFBML方法来开发FB按钮(请参阅),因为只有XFBML方法支持使用Facebook的Api来捕捉类似Facebook的按钮上的点击事件(无论我们使用哪种方法来开发按钮,按钮总是放在HTML中的iframe中,iframe中的元素与我们的站点不同,因此我们无法控制iframe中的元素,Facebook和Twitter提供了一些API,可用于开发和控制按钮,但这些API只能由u使用XFBML方法),我们尝试使用Faceb

问题的描述是,如果我们想给FB&Twitter按钮添加跟踪功能,我们必须使用XFBML方法来开发FB按钮(请参阅),因为只有XFBML方法支持使用Facebook的Api来捕捉类似Facebook的按钮上的点击事件(无论我们使用哪种方法来开发按钮,按钮总是放在HTML中的iframe中,iframe中的元素与我们的站点不同,因此我们无法控制iframe中的元素,Facebook和Twitter提供了一些API,可用于开发和控制按钮,但这些API只能由u使用XFBML方法),我们尝试使用Facebook api FB.Event.subscribe(请参阅详细信息)捕获Facebook按钮上的点击事件并启用跟踪,它工作正常,跟踪值可以成功返回,但我们的问题是:如果我们使用文章和画廊页面(文章和画廊包含FB和Twitter按钮),也可以在NetworkHeader上使用FB和Twitter按钮,如下所示:

如果我们点击页眉上的按钮,它将调用跟踪功能并发送跟踪值,但在点击页眉上的按钮后,再点击文章或图库中的按钮,它将不会返回任何跟踪值,我们的问题是:我们无法区分标题或文章上的相对跟踪值,这意味着如果我们点击该按钮n在标题上,它将调用FB.Event.subscribe并启用跟踪功能,但在相同的HTML中,文章上的按钮也将运行FB.Event.subscribe,尽管我们使用的是独立的JS文件,它仅用于标题上的FB和Twitter按钮,但无论是哪个按钮,我们都无法控制或修改来自Facebook或Twitter的Api(在文章中或标题上)我们点击,它总是会调用加载的第一个JS文件,其中包含FB.Event.subscribe函数,同一HTML中的另一个Facebook按钮也会运行该函数,这意味着如果我们点击文章或图库中的另一个FB&Twitter按钮,跟踪值是错误的,它将返回标题按钮的跟踪值

如果有办法解决这个问题,你能帮我一个忙吗

谢谢,
伊万

我需要在一个我参与的项目上做一些类似的事情,我就是这样做的

首先,Facebook社交插件的XFBML实现并不是触发事件的唯一类型——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('edge.create', function(targetUrl, elm) {
    switch(elm._attr.ref) {
        case 'header':
            // tracking code
            break;

        case // ... etc
    }
});