【问题标题】:Twitter Tweet Button does not countTwitter 推文按钮不算数
【发布时间】:2011-04-17 20:48:45
【问题描述】:

我正在使用官方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/) 是返回带有 HTTP 代码 200 的网页的常规 URL,即没有可能使 Twitter 混淆的重定向等。

我在http://www.whattheplace.com/static/tweetbutton.html 上准备了一个小示例,您可以在其中看到问题所在。在http://www.whattheplace.com的“真实”页面上,Tweet Button 被 AddThis 包裹,但问题完全一样。

我认为这可能与新的 Twitter URL 缩短器 (t.co) 有关,但我无法证明这一点,它似乎可以在其他人的页面上正常工作。

【问题讨论】:

    标签: twitter


    【解决方案1】:

    有几个可能与此相关的问题。其中之一是,如果链接被缩短,Twitter 不会添加它,除非您添加“counturl”url 属性。

    此外,Twitter 不计算来自受保护帐户(不分享其推文的帐户)的推文。

    如果这些都不能提供解决方案,请告诉我。

    干杯!

    【讨论】:

    【解决方案2】:

    另外需要记住的是,推文计数并不实时准确。它们被异步缓存和更新。见http://dev.twitter.com/pages/tweet_button_faq#count-api-increment

    【讨论】:

      【解决方案3】:

      我很幸运从 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;
      }
      

      这个 sn-p 假定 jQuery 1.5 或更高版本。

      【讨论】:

        【解决方案4】:

        我也遇到了这个问题,发现它与我设置的“规范”链接标签的值有关。它设置为 http://www.iphone4simulator.com 但推文按钮正在共享 http://iphone4simulator.com,因为我已将我的 DNS 服务器设置为从地址中删除 www 字符串。一旦我将标记中的规范 URL 值更改为后者,该按钮就像一个魅力!

        【讨论】:

        • 谢谢,但这似乎不是问题。我在whattheplace.com/static/tweetbutton.html 准备了一个新示例,我点击了所有推文按钮,但只有最后两个(指向 .html 文件的那些)会计算在内。我看不出最后两个与第三个和第四个 URL 之间的区别是什么,因为它们都是没有重定向的有效 HTML 文档(前两个 URL 重定向可能是它们不起作用的原因)。
        【解决方案5】:

        我认为您缺少数据-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 -->
        

        我的问题还不够清楚,希望对您有所帮助! 如果你进一步解释我会很乐意编辑它! - 如果我知道答案;)

        祝你好运!

        特鲁法

        【讨论】:

        • 我尝试了 data-via,但它只是在推文文本中添加了一个“via @#”,这在我认为根据文档 (dev.twitter.com/pages/tweet_button) 应该执行的操作中是正确的。但恐怕我不明白你的第二个建议。问题与 AddThis 无关,它也发生在原始推文按钮上。
        【解决方案6】:

        如果你想显示一个计数,你必须同时使用“data-count”和“data-url”,并且涉及到一个 url 缩短器(并且总是存在):

          data-url="http://dev.twitter.com/pages/tweet_button"
          data-count="vertical"
        

        【讨论】:

          【解决方案7】:

          它不是 data-url,因为那是缩短的 url……你不必费心包括我不认为的。设置 data-counturl=THE_PAGES_ACTUAL_URL 所以不管有人使用什么缩短器,你的实际 url 的计数都会增加并显示。所以是这样的...... data-counturl="&lt;?php echo $_SERVER['PHP_SELF']; ?&gt;"

          --- ummm...没关系,我说得太早了...

          【讨论】:

          • 这是重要的部分。 data-counturl 属性必须指向 EXPANDED FINAL DESTINATION
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-11
          • 2011-06-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多