javascript - Twitter 集合网格不支持 AngularJS

标签 javascript angularjs twitter twitter-widget

我正在尝试使用 angularJS 指令在我正在构建的网站上使用 Twitter 集合网格(如下所示: https://dev.twitter.com/web/embedded-timelines/collection )。小部件显示在网站上,但网格不起作用。图片不是以网格形式显示,而是彼此堆叠,所有图片都具有小部件的宽度。调整小部件的大小并不能让它们显示为网格。奇怪的是,有时当我重新加载页面时,它正在工作,但我无法让它持续工作。编辑:它以正确的方式加载,大约 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 Collection Grid 开始工作,你是如何做到的?或者有人可以帮我找出为什么这不起作用?谢谢!

最佳答案

通过放弃指令并仅使用 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 代码(您从 twitter 获得)无法正常工作。当您导航到网站的另一个页面然后再次返回时,小部件不会重新加载。因此,我对时间线使用了指令,这很有效。

关于javascript - Twitter 集合网格不支持 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784587/

相关文章:

twitter - 如何在 Pig 中使用 rcfilepigstorage

javascript - 为什么 typescript 会针对两个对象类型数组抛出错误,但不会针对两者的形状抛出错误?

javascript - 谷歌地图折线 : Mark the two Polyline coordinates that contain the clicked LatLng

php - 从 Angularjs 渲染 Twig 模板

javascript - 如何在 AngularJs 中删除点击事件的元素焦点

node.js - 如何以编程方式过滤与 API 端点匹配的用户名?

javascript - 如何将 liferay 验证器与 js 提交一起使用?

javascript - 如何在事件时更改选项卡背景颜色

javascript - 从 Angular $resource 访问实际服务器响应

java - CouchDB数据复制