多个JS创建的twitter按钮:跟踪点击了哪个按钮

Multiple JS created twitter buttons : track which one was clicked?

本文关键字:按钮 跟踪 JS 创建 twitter 多个      更新时间:2023-09-26

我在一个页面上有多个按钮(tweet、share…),希望跟踪这些按钮进行分析。我想知道按钮A是否比按钮B好:)

按钮是"按需"加载的:悬停在某些div上,或在一段时间后加载。我这样做是出于表现原因。我不希望每次都解析整个DOM。

我使用twitter窗口小部件库中的twttr.widgets.createXXX函数,如下所述:https://dev.twitter.com/docs/intents/events.

在此之前一切都很顺利。

但是,当我在指定的事件上绑定回调函数时,提供的回调数据是空的,或者几乎是空的。我有按钮类型,但我没有任何关于事件和原始目标的其他信息。

我在window.twttr对象内部查找与上一个事件或创建的不同iframe相关的信息。

以下是我为解释这个问题而制作的jsfiddle:http://jsfiddle.net/3fFFf/

<div id="btnContainer1" class="btn not-activated">Button container 1</div>
<div id="btnContainer2" class="btn not-activated">Button container 2</div>
<script>
    // Loading the twitter library
    twttr = (function (d,s,id) {  var t, js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js=d.createElement(s); js.id=id; js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } }); }(document, "script", "twitter-wjs"));
    twttr.ready(function(twttr) {
        // I only want to load the tweet button when the divs are hovered
        $(document).on("mouseenter", ".btn.not-activated", function(e){
            var $div = $(this);
            $div.removeClass("not-activated").text("");
            twttr.widgets.createShareButton(
                "http://twitter.com",
                $div[0],
                function(el) {}, // loaded callback
                { // Options
                    lang: "en",
                    text: "hey, share this great site !",
                    via: "me",
                    count: "none"
                });
            })
            // A click occured on a twitter button
            twttr.events.bind('click', function(e){
                alert("e.target should by a node or something, but is : "+e.target)
            });
    });
</script>

谢谢你的帮助!

这似乎是一个错误:

为什么data.target对于网络意图推特事件总是为null?

问题#1220:如果推特按钮是由createShareButton 创建的,则未在"推特"web意图事件上设置data.target