我有一个自定义推文按钮:
<a href="http://twitter.com/share?url=http://example.com;text=myText;size=l&count=none" target="_blank">
<div>
<img src="/assets/twitter-logo.jpg">
<span>Twitter</span>
</div>
</a>
现在我想在发布推文后获得一些结果。为此,我查看了Twitter Events API:
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
<script type="text/javascript">
twttr.events.bind('tweet', function (event) {
alert("Tweet Successful");
});
</script>
但是,此API仅适用于非自定义按钮(twitter-share-button
类)。
任何人都设法创建了一个监听事件的自定义按钮吗?
答案 0 :(得分:32)
您可以拥有自定义链接,但仍具有网络意图!
键,而不是指向“https://twitter.com/share”的链接,而是指向“https://twitter.com/intent/tweet”
像这样:<a href="https://twitter.com/intent/tweet">Tweet</a>
通过这种方式,您可以像尝试一样使用网络意图:
twttr.events.bind('tweet', function (event) {
// Do something there
alert('Tweeted');
});
选中此jsFiddle
答案 1 :(得分:0)
我有一个分享行动的人
<a href="https://twitter.com/share" class="twitter-share-button" data-via="pincheregio" data-size="large" data-count="none">Tweet</a>
<script>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
twttr.ready(function (twttr) {
twttr.events.bind('tweet', function (event) {
alert("paso");
});
});
</script>
答案 2 :(得分:0)
请勿通过“ tweet”事件浪费时间。与其他社交网络不同,twitter会触发此操作,即使该推文成功完成或用户只是关闭窗口也是如此。因此,请使用以下代码:
jQuery('#twitter').off('click').on('click', function() {
var field_list = {
url: 'https://example.com/',
text: 'Some random text',
hashtags: 'myhashtag,anothertag',
}
window.open('https://twitter.com/share?'+jQuery.param(field_list), '_blank', 'width=550,height=420').focus();
alert('Is it successful tweet or not? That is the question!');
});