问题描述
我尝试将 Twitter 时间线嵌入到我的 Angular 2 应用中.我遵循了本教程 https://publish.twitter然后我有了这个
<a class="twitter-timeline" href="https://twitter/TwitterDev">TwitterDev 的推文</a><script async src="//platform.twitter/widgets.js" charset="utf-8"></script>
我将一个标签放入模板并将脚本标签放入 index.html.这是一个例子.
<头><meta charset="utf-8"><title>Angular 2 应用程序 |ng2-webpack<link rel="icon" type="image/x-icon" href="/img/favicon.ico"><link rel="stylesheet" href="https://cdnjs.cloudflare/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdnjs.cloudflare/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"><script async src="//platform.twitter/widgets.js" charset="utf-8"></script><base href="/">头部><身体><我的应用程序><div class="loading-container"><div class="加载"></div><div id="加载文本">加载</div><a class="twitter-timeline" href="https://twitter/TwitterDev">TwitterDev 的推文</a></我的应用程序></html>
但它只显示了 a 标签,没有时间线.请帮帮我!
解决方案您应该在加载模板后运行 twitter 小部件脚本.
我是这样做的:
导出类 SectionSocialComponent 实现 AfterViewInit {构造函数(){}ngAfterViewInit () {!function(d,s,id){var js:任何,fjs=d.getElementsByTagName(s)[0],p='https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(文档,脚本",twitter-wjs");}}
我的 .html 文件只包含这个:
<a class="twitter-timeline" href="https://twitter/TwitterDev">TwitterDev 的推文</a>
也许这不是最优雅的解决方案,但对我有用.
I tried to embed Twitter timeline to my Angular 2 app. I followed this tutorial https://publish.twitter then I had this
<a class="twitter-timeline" href="https://twitter/TwitterDev">Tweets by TwitterDev</a> <script async src="//platform.twitter/widgets.js" charset="utf-8"></script>
I put a tag into template and put script tag into index.html. This is an example.
<!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/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css">
<script async src="//platform.twitter/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/TwitterDev">Tweets by TwitterDev</a>
</div>
</my-app>
</body>
</html>
But it only showed the a tag, no timeline. Please help me !
解决方案You should run the twitter widget script after your template was loaded.
I did this:
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/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
}
(document,"script","twitter-wjs");
}
}
And my .html file only contains this:
<a class="twitter-timeline" href="https://twitter/TwitterDev">Tweets by TwitterDev</a>
Maybe this is not the most elegant solution, but worked for me.
这篇关于为 Angular 2 嵌入 Twitter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论