Сетка Твиттера Коллекции не работает AngularJS

Я пытаюсь использовать сетку сбора Twitter (например, https://dev.twitter.com/web/embedded-timelines/collection) на сайте, который я создаю, используя директиву angularJS. Виджет отображается на сайте, но сетка не работает. Вместо того, чтобы показывать в виде сетки, картинки накладываются друг на друга, все с шириной виджета. Изменение размера виджета не работает, чтобы они отображались в виде сетки. Странно то, что иногда, когда я перезагружаю страницу, она работает, но я не могу заставить ее работать последовательно. Изменить: он загружает правильный путь, как 25% случаев... я посчитал...

Это HTML, который я использую:

<div id="twitter-collection">
  <twitter-collection></twitter-collection>
</div>

И это директива:

.directive("twitterCollection", [ function() {
  return {
  restrict: 'E',
  template: '<a class="twitter-grid" href="https://twitter.com/_/timelines/539487832448843776">Tweets with pictures</a>',
  link: function(scope, element, attrs) {
    function run() {
      (! 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"));
      console.log('run TwitterCollection script');
    }
    run();
   }
  };
}])

Кто-нибудь испытывал эту проблему? Или только что сработала сетка сбора Twitter и как ты это сделал? Или кто-то может помочь мне выяснить, почему это не работает? Спасибо!

2 ответа

Получил это, отказавшись от директивы и просто применив html, как показано в коде ниже. Теперь он отображается в сетке каждый раз, когда я перезагружаюсь.

<div id="twitter-collection" style="width: 80%;">
  <a class="twitter-grid" href="https://twitter.com/_/timelines/666933617080299521">A Collection on Twitter</a>
</div>
<script async defer src="https://platform.twitter.com/widgets.js"></script>

Причина, по которой я попытался использовать директиву для отображения коллекции, заключается в том, что чистый HTML-код (который вы получаете из твиттера) для "обычного" виджета временной шкалы не работал должным образом. Когда вы перешли на другую страницу сайта и затем снова вернулись, виджет не перезагрузился. Поэтому я использую директиву для временной шкалы, и это работает.

Вы можете использовать это:

customized twitter feed script - `https://jsfiddle.net/reimeister/9x9fc/`

https://github.com/StanScates/Tweet.js-Mod

надежда помогает тебе

Другие вопросы по тегам