如何检测使用Twitter意图和Javascript发出的已完成推文

如何检测使用Twitter意图和Javascript发出的已完成推文,javascript,jquery,wordpress,twitter,Javascript,Jquery,Wordpress,Twitter,我对Twitter编程一无所知,请原谅我的无知。我试图找到解决这个问题的办法,但没有用 在HTML中,我有以下内容: <a href='javascript: submit_with_twitter()'>submit</a> 推特弹出窗口打开,推特可以成功发布。但是,有两个问题: 1) tweet实际上是表单提交过程的第一个阶段,因此当tweet发出后,JS需要检测到这一点,以便触发表单提交 2) 弹出窗口不会自动关闭 如果我像这样手动包含twitter JS: &l

我对Twitter编程一无所知,请原谅我的无知。我试图找到解决这个问题的办法,但没有用

在HTML中,我有以下内容:

<a href='javascript: submit_with_twitter()'>submit</a>
推特弹出窗口打开,推特可以成功发布。但是,有两个问题:

1) tweet实际上是表单提交过程的第一个阶段,因此当tweet发出后,JS需要检测到这一点,以便触发表单提交

2) 弹出窗口不会自动关闭

如果我像这样手动包含twitter JS:

<script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
它消除了所有错误,tweet窗口现在自动关闭,所有控制台日志都按预期显示,除了那些应该在tweet发出后显示的日志

基本上,一切似乎都很好,除了推特事件从未被捕获

好的

对于未来的患者,我最终发现twitter是在wordpress的其他地方建立的,所以没有必要使用它

$.getScript('https://platform.twitter.com/widgets.js', function(){}


或者任何其他设置twitter小部件的尝试

我还没有调查是哪个插件(如果有的话)导致twitter被初始化

此外,如果该页面不包含HTML twitter链接,则如下所示:

jQuery(document).ready(function($) {
    // Code here will be executed on document ready. Use $ as normal.

     console.log("jQuery(document).ready");

    $.getScript('https://platform.twitter.com/widgets.js', function(){
  //  console.log("twttr: "+twttr);
    console.log("twttr object: %o", twttr);
     console.log("jQuery object: %o", jQuery);

  $(twttr).ready(function (twttr) {
       console.log("twttr ready, adding tweet handler");




       $(twttr.events).bind('tweet', function () {
         console.log("tweeted event!");
      });

        $(twttr.events).bind('click', function () {
         console.log("click event!");
      });

        $(twttr.events).bind('follow', function () {
         console.log("follow event!");
      });
    });


});

});
<a href='https://twitter.com/intent/tweet' >Tweet Test</a>

twitter未初始化,因此无法检测到事件。因此,通常使用链接触发tweet最简单,然后使用捕获的tweet事件运行任何后续JS,而不是使用JS触发tweet

jQuery(document).ready(function($) {
    // Code here will be executed on document ready. Use $ as normal.

     console.log("jQuery(document).ready");

    $.getScript('https://platform.twitter.com/widgets.js', function(){
  //  console.log("twttr: "+twttr);
    console.log("twttr object: %o", twttr);
     console.log("jQuery object: %o", jQuery);

  $(twttr).ready(function (twttr) {
       console.log("twttr ready, adding tweet handler");




       $(twttr.events).bind('tweet', function () {
         console.log("tweeted event!");
      });

        $(twttr.events).bind('click', function () {
         console.log("click event!");
      });

        $(twttr.events).bind('follow', function () {
         console.log("follow event!");
      });
    });


});

});
$.getScript('https://platform.twitter.com/widgets.js', function(){}
<script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>
<a href='https://twitter.com/intent/tweet' >Tweet Test</a>