【问题标题】:Twitter bind event after tweet ( twttr.events.bind ) Not Working推文后的 Twitter 绑定事件( twttr.events.bind )不起作用
【发布时间】:2014-10-08 22:18:39
【问题描述】:

我有这个简单的代码假设提醒“我刚刚发了推文”,似乎不起作用,我已经尝试了所有示例。甚至访问此链接寻求帮助https://dev.twitter.com/discussions/671 但仍然没有工作。

<script>

function alertAfterTweet() {
  alert('I just Tweeted')
}

//Bind the custom function with twitter event
twttr.ready(function (twttr) {
  twttr.events.bind('click', alertAfterTweet);
});

function jsTweet() {
   var urlTW = "https://twitter.com/intent/tweet?text=Text&url=http://example.com";
   window.open(urlTW, "", "toolbar=0, status=0, width=650, height=360");
}</script>

<a href="javascript:void(0)" onClick="jsTweet();">Tweet</a>

</script>

如有任何帮助,我们将不胜感激。谢谢

【问题讨论】:

    标签: twitter


    【解决方案1】:

    1.首先包含twitter api

    <script>window.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"));</script>
    

    2.使用twitter API创建分享按钮,然后绑定事件(看起来你想绑定tweet而不是点击):

    twttr.ready(function(twttr) {
        twttr.widgets.createShareButton(
            'your url',
            document.getElementById('your-element-id'), {
                url: 'your url',
                count: 'none',
                text: 'your text',
                size: 'large',
                hashtags: 'your hashtag'
            }).then(function(el) {
            console.log("Twitter Button created.")
        });
        twttr.events.bind('tweet', function(event) {
            //add ur post tweet stuff here 
            console.log('tweet');
        });
    
    });
    

    您可以使用 API 设置许多选项。欲了解更多信息:

    Javascript:https://dev.twitter.com/web/javascript

    事件:https://dev.twitter.com/web/javascript/events

    顺便说一句,你也可以这样创建按钮:

    <a class="twitter-share-button" href="https://twitter.com/share"
      data-related="twitterdev"
      data-size="large"
      data-count="none">
    Tweet
    </a>
    

    希望有帮助!

    【讨论】:

    • 这在 IE11 中有效吗?我测试了类似的代码,并且从未调用过回调。
    • 这是一个非常痛苦的问题... IE 不会像 windows phone 那样触发推文事件。来自 Twitter:“请注意,并非所有浏览器都会触发事件,如果用户选择使用本机应用程序而不是 Web Intent 来完成他们的交互,您可能不会收到该操作的事件。小部件上的点击事件应该始终起作用。”您还可以实现应用程序发布:创建一个 twitter 应用程序,并使用服务器端脚本,使用客户端和秘密应用程序密钥,代表他们发布。这当然适用于所有平台。如果您需要更多相关信息,请告诉我。
    • 谢谢!更多信息会很棒(或只是一个链接)。我很好奇从实现的角度来看这将如何工作。
    • 我正在关注此处的“检测 Web 分析事件”示例:dev.twitter.com/web/javascript/events,但是如前所述,绑定的“tweet”事件回调永远不会在 IE11 中调用。
    • 在 IE 中试试这个例子。由于某种原因它不起作用。这是我要完成的工作的前提。 jsfiddle.net/n8ueF
    猜你喜欢
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多