Кнопка Твиттера в Твиттере не считается - PullRequest
20 голосов
/ 27 сентября 2010

Я использую официальную кнопку Tweet из 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, но проблема точно такая же.

Ядумая, что это может быть как-то связано с новым сокращением URL в Твиттере (t.co), однако я не могу доказать это, и кажется, что он отлично работает на страницах других людей.

Ответы [ 7 ]

15 голосов
/ 09 октября 2010

Есть несколько возможных проблем, связанных с этим.Одним из них является то, что если ссылка будет сокращена, Twitter не добавит ее, если вы не добавите свойство url "counturl".

Кроме того, Twitter не учитывает твиты, поступающие с защищенных учетных записей (учетных записей, которые не публикуют свои твиты).

Пожалуйста, дайте мне знать, если ничего из этого не предлагает решение.

Приветствия!

13 голосов
/ 12 мая 2011

Что еще нужно иметь в виду, это то, что количество твитов не является точным в реальном времени. Они кэшируются и обновляются асинхронно. Смотри http://dev.twitter.com/pages/tweet_button_faq#count-api-increment

2 голосов
/ 25 августа 2011

Мне посчастливилось перейти от метода параметра 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 или выше.

1 голос
/ 29 марта 2011

это не data-url, так как это сокращенный url ... вам не нужно беспокоиться о том, что я не думаю. установите data-counturl = THE_PAGES_ACTUAL_URL, чтобы независимо от того, кто использует сокращатель, счетчик для вашего фактического URL увеличивается и отображается. ну как то так ... data-counturl="<?php echo $_SERVER['PHP_SELF']; ?>"

--- ммм ... не важно, я говорил слишком рано ...

1 голос
/ 17 февраля 2011

вы должны использовать как «data-count», так и «data-url», если вы хотите отобразить счетчик и задействован сокращатель URL (и всегда есть):

  data-url="http://dev.twitter.com/pages/tweet_button"
  data-count="vertical"
1 голос
/ 07 октября 2010

Я думаю, что вам не хватает данных через = "#"

<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>

Если его добавить вокруг, я уверен, что вы должны «смешать» его с самой кнопкой твиттера, если вы не используете что-то вроде:

<!-- 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 -->

Я не нахожу вопрос достаточно ясным, надеюсь, он все равно поможет! если вы объясните дальше, я с удовольствием отредактирую его! - если я знаю ответ;)

Удачи!

Trufa

1 голос
/ 28 сентября 2010

У меня тоже была эта проблема, и я обнаружил, что она связана со значением «канонического» тега ссылки, который я установил.Он был настроен на http: // www.iphone4simulator.com, но кнопка твита отправляла http://iphone4simulator.com, потому что я настроил DNS-серверы на удаление строки www из адреса.Как только я изменил значение канонического URL-адреса в разметке на последний, кнопка заработала как шарм!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...