You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twitter分享弹窗无回调反馈及弹窗未关闭问题求助

Twitter分享功能问题排查

需求目标

  • 在弹窗中分享指定URL和文本到Twitter
  • 能接收Twitter返回的推文成功/失败响应
  • 推文成功或用户手动关闭窗口后,自动关闭弹窗

遇到的问题

  • 无法捕获Twitter的推文成功或失败响应
  • 推文成功后,弹窗依然处于打开状态

已尝试的解决方案及代码

HTML body中的Twitter SDK加载代码

<script>
    window.twttr = (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0],
        t = window.twttr || {};
      if (d.getElementById(id)) return t;
      js = d.createElement(s);
      js.id = id;
      js.src = "https://platform.twitter.com/widgets.js";
      fjs.parentNode.insertBefore(js, fjs);

      t._e = [];
      t.ready = function(f) {
        t._e.push(f);
      };

      return t;
    }(document, "script", "twitter-wjs"));
</script>

打开分享弹窗的函数

function share_to_twitter(sParamUrl, sParamText, iParamWinWidth, iParamWinHeight) {
    var iWinTop = (screen.height / 2) - (iParamWinHeight / 2);
    var iWinLeft = (screen.width / 2) - (iParamWinWidth / 2);
    
    window.open('http://twitter.com/intent/tweet?url='+encodeURIComponent(sParamUrl) + '&text=' + sParamText,'top=' + iWinTop + ',left=' + iWinLeft + ',toolbar=0,status=0,width=' + iParamWinWidth + ',height=' + iParamWinHeight, '_blank');
            
}

share_to_twitter('https://example.com','Text to tweet', 640, 480);

注:原代码中share_to_twitter调用时缺少参数分隔逗号,已补充

尝试捕获Twitter响应的代码

twttr.ready(function (twttr) {
    twttr.events.bind('tweet', function(event) {
       alert(event);
       /*示例逻辑:
        if(event == 'success'){
          window.close();
       }
       else{
         //执行其他操作
       }*/
   });
});

内容的提问来源于stack exchange,提问作者programmer777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:06:27