如何解决Angular网页内嵌推特时间线无法正常显示
我最近解决了一个折磨了我好久但是解决方法却只是添加两三行代码的问题。我没有在网上找到合适的解决方案,最后是我根据官方网站和很多的帖子里的部分代码得到的启发,尝试了很久之后得到的解决方法。因为过程实在是折磨,网上又有很多不同思路的方法可能会误导导致浪费很多时间,所以我特地在此分享我遇到的问题与解决方案,如果你的项目也碰到了像我一样的问题,那么很高兴我的解决方法能帮到你。
我添加内嵌推特时间线(Embedded Timeline)的方法
因为有不知一种的添加时间线的方法,为了方便解释我解决的问题,先在此解释我用到的方法。
推特的help官方网站中解释的很清楚,我将重点步骤截图如下:

其中第三步中提到的自定义高度、颜色等在此官方链接(https://dev.twitter.com/web/embedded-timelines)中有详细解释,不再赘述。
以https://twitter.com/TwitterDev为例子按照上面步骤,你会得到如下代码
<a class="twitter-timeline" href="https://twitter.com/TwitterDev?ref_src=twsrc%5Etfw">Tweets by TwitterDev</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
在Angular 5的项目中,你不能将script部分的代码连同前面a部分的一起粘贴在相应位置,只需要将a粘贴在所需位置,再将script部分粘贴在index.html文件中即可。
其中Tweets by TwitterDev并不是必须要写的,只是在内嵌内容出现前会出现这段有下划线的文字,点击既是相关推特界面。
问题
在一般的网页中,内嵌推特时间线的工作就结束了,但是我在做完这些工作后发现首次加载对应的界面时无法显示该内容,只有带链接的文字。然后刷新该界面就能显示想要的内容了。出现这种情况的原因大概是:写在index.html中的script内容没有即时被识别导致这段内容没有实际作用,而当在此刷新该界面时,此内容因为已经被识别过了就能正常作用了。(我不确定原因解释的是否正确,如果有人知道正确原因,拜托留个言给我好吗?)
解决方法
先直接给出我的解决方法:
我在想要添加推特时间线的component中的TypeScript文件的ngAfterViewInit()中添加了以下代码
if (window['twttr']) {
window['twttr'].widgets.load();
}
原理就是:让它自己在网页加载出来后自动再加载一遍。此灵感来源于推特官网Docs中JavascriptAPI中Initializing embedded content after a page has loaded界面内容。
在网上找到这个方法之前,我尝试了很多网上提到的各种方法,可能是Angular 5的使用率不大加上同时需要内嵌推特时间线的人不多,所以很少有人遇到和我一样的这个问题吧。
其他的思路
刚开始时,我们的项目中使用了node中ng4-twitter-timeline模块,附上github上的代码链接https://github.com/lokers/ng4-twitter-timeline。
在本地试验时没有任何问题,但是在上线项目compile时出现了问题,所以我们也考虑过自己写一个类似的component使用,但是我的技术不行,最终没有找到这个思路的解决方法。
(非常欢迎知道解决方法的读者在此留言!)
如何解决Angular网页内嵌推特时间线无法正常显示的更多相关文章
- 浅谈html5网页内嵌视频
更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...
- HTML-图片热点、网页内嵌、网页拼接、快速切图
图片热点 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果.与图片链接不同,热点是图片上的某一个区域或多个区域. 我们用魔兽世界图片来做一个图片热点,点击logo.区域和不 ...
- django2 用iframe标签完成 网页内嵌播放b站视频功能
前言: 给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放.其中前者顾名思义,是将视频资源上传到视频网站中,然后通过引用 ...
- 使用MailKit发送带有内嵌图片的邮件且图片不显示成附件
使用MailKit发送带有内嵌图片的邮件且图片不显示成附件 参考文章:MailKit---发送邮件 注意 在邮件客户端中是否显示内嵌图片为附件依据不同邮件有所不同,暂经测试Outlook和qq不显示为 ...
- 网页内嵌html遇到的问题
在项目中遇到个问题 充值功能是点击一个按钮这个按钮会弹出模态框,输入充值金额会执行一段脚本自动提交数据到https://openapi.alipay.com/gateway.do上 结果:本网页跳转到 ...
- ios平台appstore不支持网页内嵌app解决方案
苹果一直拒绝 UIWebView 内嵌 HTML5 页面的 iPhone.iPad APP应用上架到 App Store,建议这样的APP去做成Safari的Web应用.但是,苹果的审核人员只从界面. ...
- 【转】浅谈html5网页内嵌视频
转自 http://www.pchou.info/web/2014/01/30/52ea01e13a7f1.html
- 23. Angular 中用 a 标签 href 路由时在浏览器中显示异常 "%2F" 路由失败问题1
这个是angular1.6默认给hash路由上添加了!(感叹号),导致出错,修改方法如下(添加配置,去掉默认前缀感叹号): angular.module('routingDemoApp',['ng ...
- 22. Angular 中用 a 标签 href 路由时在浏览器中显示异常 "%2F" 路由失败问题
转自:https://blog.csdn.net/duansale/article/details/77455355 <a href="#/index">index&l ...
随机推荐
- 自动化测试之路2---python安装
借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html
- 5.4Python数据处理篇之Sympy系列(四)---微积分
目录 目录 前言 (一)求导数-diff() 1.一阶求导-diff() 2.多阶求导-diff() 3.求偏导数-diff() (二)求积分-integrate() (三)求极限-limit() ( ...
- ZooInspector 连接不到 Zookeeper 的解决方法
Zookeeper正常启动后,在使用 ZooInspector 连接 Zookeeper 时出现了连接不上的问题. [root@localhost bin]# zkServer.sh start Zo ...
- 【English】20190415
approximately大约 [əˈprɑ:ksɪmətli] This install will take + minutes and requires the download of appro ...
- git-将dev代码合并到test
1. 在dev分支上刚开发完项目,执行以下命令: git add git commit -m 'dev' git push -u origin dev 2.切换到test分支上 如果是多人开发,先把远 ...
- Editplus5.0 注册码
EditPlus5.0注册码 注册名 Vovan 注册码 3AG46-JJ48E-CEACC-8E6EW-ECUAW EditPlus3.x注册码 注册名 linzhihui 注册码 5A2B6-69 ...
- day4-python基础-小数据池以及深浅copy浅讲
今天的目录是 1.小数据池 2.深浅copy 正文开始 1.小数据池 在说明今天的内容前,先说明一个在今天重复用到的一个知识点 ###比较’=’俩边的数据是否完全相同,以及判断一个对象的内存地址是否完 ...
- bsxfun
By HYB bsxfun(fun,A,B)偶然间发现了这个函数,强大得不得了呀,它的作用是:对两个矩阵A和B之间的每一个元素进行指定的计算(函数fun指定):并且具有自动扩维的作用 例如,A是一个4 ...
- python小白——进阶之路——day3天-———运算符
(1)算数运算符: + - * / // % ** (2)比较运算符: > < >= <= == != (3)赋值运算符: = += -= *= /= //= %= ** ...
- Windows 2016 忘记密码的处理方法
发现使用 osk 还有 magnify 的方式修改 密码的方式在win server 的机器上面行不通了. 换一种方式进行处理. 使用PE 方式处理. 1. 下载PE 发现比较早的PE 也搞不定 可能 ...