Twitter推文按钮不计算在内

时间:2010-09-27 16:09:34

标签: twitter

我使用官方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)有关,但是我无法证明它,它似乎可以在其他人的页面上正常工作。

7 个答案:

答案 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']; ?>"

---嗯...没关系,我说得太快了......