为 Angular 2 嵌入的 Twitter

标签 twitter angular

我尝试将 Twitter 时间轴嵌入到我的 Angular 2 应用程序中。 我遵循了本教程 https://publish.twitter.com 然后我有这个

<a class="twitter-timeline" href="https://twitter.com/TwitterDev">Tweets by TwitterDev</a> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

我将标签放入模板并将脚本标签放入index.html。这是一个例子。

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Angular 2 App | ng2-webpack</title>
    <link rel="icon" type="image/x-icon" href="/img/favicon.ico">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css">
    <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
    <base href="/">
  </head>
  <body>
    <my-app>
      <div class="loading-container">
        <div class="loading"></div>
        <div id="loading-text">loading</div>
        <a class="twitter-timeline" href="https://twitter.com/TwitterDev">Tweets by TwitterDev</a>
      </div>
    </my-app>
  </body>
</html>

但它只显示了 a 标签,没有时间线。 请帮助我!

最佳答案

您应该在加载模板后运行 Twitter 小部件脚本。

我这样做了:

export class SectionSocialComponent implements AfterViewInit { 
    constructor() {}

    ngAfterViewInit () {
            !function(d,s,id){
                var js: any,
                    fjs=d.getElementsByTagName(s)[0],
                    p='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");
    }
}

我的 .html 文件只包含这个:

<a class="twitter-timeline" href="https://twitter.com/TwitterDev">Tweets by TwitterDev</a>

也许这不是最优雅的解决方案,但对我有用。

关于为 Angular 2 嵌入的 Twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455813/

相关文章:

javascript - 使用 'enter' key 发送推文 (Greasemonkey)

typescript - 如何在 Angular 2 中处理纯文本、服务器响应?

javascript - 从开发者控制台填写 Angular 表单

asp.net - No NgModule metadata found for 'AppModule' Error in Angular 5 server-side rendering with --env.prod

android - 如何使用 twitter4j 库获取屏幕名称的推文?

twitter - 获取给定用户在 LinqToTwitter 中关注的用户(不是关注者)

javascript - 刷新 JSON

javascript - 从本地主机或文件 ://访问 JSON 服务

css - 使用 Angular 中的 Angular Material/Flex-Layout 创建具有固定标题、固定侧边栏、固定内容部分的布局

angular - 发生未处理的异常 : The development server only supports localizing a single locale per build