我使用官方Tweet Button from Twitter允许用户共享我的网站。
按钮本身工作正常,但计数器不起作用并始终保持为零。 (在推文之后,它会在客户端递增,但如果按F5,它将再次为零)
这是我包含按钮的非常简单的代码:
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.whattheplace.com/Show/1/" data-count="vertical">Tweet</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
指定的URL(http://www.whattheplace.com/Show/1/)是一个常规URL,返回一个HTTP代码为200的网页,即没有可能混淆Twitter的重定向等。
我在http://www.whattheplace.com/static/tweetbutton.html上准备了一个小例子,您可以在其中看到问题。在http://www.whattheplace.com的“真实”页面上,Tweet按钮被AddThis包裹,但问题完全相同。
我认为它可能与新的Twitter URL缩短程序(t.co)有关,但是我无法证明它,它似乎可以在其他人的页面上正常工作。
答案 0 :(得分:15)
有一些可能与此相关的问题。其中之一是,如果链接缩短,Twitter将不会添加它,除非您添加“counturl”url属性。
此外,Twitter不会计算来自受保护帐户的推文(不共享推文的帐户)。
如果没有提供解决方案,请告诉我。
干杯!
答案 1 :(得分:13)
要记住的其他事情是推文数量实时不准确。它们被异步缓存和更新。见http://dev.twitter.com/pages/tweet_button_faq#count-api-increment
答案 2 :(得分:2)
我很幸运从URL参数方法切换到数据属性方法。
function twtrButton(url, text, configs){
// Create a link
var params = {
rel: 'canonical',
'data-count': 'horizontal',
href: 'http://twitter.com/share/'
};
if (url) {
params['data-url'] = url;
params['data-counturl'] = url;
}
if (text) {
if(text.length > 90){
text = text.substring(0, 90);
text += '...';
}
params['data-text'] = text;
}
if (configs) {
if (configs.via) {
params['data-via'] = configs.via;
}
if (configs.related) {
params['data-related'] = configs.related;
}
}
var link = $('<a>', params).addClass('twitter-share-button');
return link;
}
此代码段假设jQuery 1.5或更高版本。
答案 3 :(得分:1)
我也遇到了这个问题,发现它与我设置的“规范”链接标记的值有关。它被设置为http:// www.iphone4simulator.com但是推文按钮正在共享http://iphone4simulator.com,因为我已经设置了我的DNS服务器以从地址中删除www字符串。只要我将标记中的规范URL值更改为后者,该按钮就像魅力一样!
答案 4 :(得分:1)
我认为你缺少data-via =“#”
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.whattheplace.com/Show/1/" data-count="vertical" data-via="#">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
如果它在周围添加,我非常肯定你应该将它与twitter按钮“混合”,不应该使用类似的东西:
<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style">
<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
<a class="addthis_button_tweet"></a>
<a class="addthis_counter addthis_pill_style"></a>
</div>
<script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=viralizate"></script>
<!-- AddThis Button END -->
我没有找到足够明确的问题,希望无论如何都有帮助! 如果你进一步解释我会很乐意编辑它! - 如果我知道答案;)
祝你好运!特鲁法
答案 5 :(得分:1)
如果你想显示一个计数并且有一个网址缩短器(并且总是存在),你必须同时使用“data-count”和“data-url”:
data-url="http://dev.twitter.com/pages/tweet_button"
data-count="vertical"
答案 6 :(得分:1)
它不是数据网址,因为这是缩短的网址...你不必费心包括我不认为。设置data-counturl = THE_PAGES_ACTUAL_URL,无论用户使用什么缩短器,实际网址的计数都会增加并显示。所以这样...... data-counturl="<?php echo $_SERVER['PHP_SELF']; ?>"
---嗯...没关系,我说得太快了......