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
相关产品推荐
相关产品推荐

