我最近解决了一个折磨了我好久但是解决方法却只是添加两三行代码的问题。我没有在网上找到合适的解决方案,最后是我根据官方网站和很多的帖子里的部分代码得到的启发,尝试了很久之后得到的解决方法。因为过程实在是折磨,网上又有很多不同思路的方法可能会误导导致浪费很多时间,所以我特地在此分享我遇到的问题与解决方案,如果你的项目也碰到了像我一样的问题,那么很高兴我的解决方法能帮到你。

我添加内嵌推特时间线(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网页内嵌推特时间线无法正常显示的更多相关文章

  1. 浅谈html5网页内嵌视频

    更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...

  2. HTML-图片热点、网页内嵌、网页拼接、快速切图

    图片热点 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果.与图片链接不同,热点是图片上的某一个区域或多个区域. 我们用魔兽世界图片来做一个图片热点,点击logo.区域和不 ...

  3. django2 用iframe标签完成 网页内嵌播放b站视频功能

    前言: 给自己的网站中加入视频资源,有两种方法,一种是用iframe标签引用外站资源,另一种则使用video标签,获取站内资源进行视频播放.其中前者顾名思义,是将视频资源上传到视频网站中,然后通过引用 ...

  4. 使用MailKit发送带有内嵌图片的邮件且图片不显示成附件

    使用MailKit发送带有内嵌图片的邮件且图片不显示成附件 参考文章:MailKit---发送邮件 注意 在邮件客户端中是否显示内嵌图片为附件依据不同邮件有所不同,暂经测试Outlook和qq不显示为 ...

  5. 网页内嵌html遇到的问题

    在项目中遇到个问题 充值功能是点击一个按钮这个按钮会弹出模态框,输入充值金额会执行一段脚本自动提交数据到https://openapi.alipay.com/gateway.do上 结果:本网页跳转到 ...

  6. ios平台appstore不支持网页内嵌app解决方案

    苹果一直拒绝 UIWebView 内嵌 HTML5 页面的 iPhone.iPad APP应用上架到 App Store,建议这样的APP去做成Safari的Web应用.但是,苹果的审核人员只从界面. ...

  7. 【转】浅谈html5网页内嵌视频

    转自 http://www.pchou.info/web/2014/01/30/52ea01e13a7f1.html

  8. 23. Angular 中用 a 标签 href 路由时在浏览器中显示异常 "%2F" 路由失败问题1

    这个是angular1.6默认给hash路由上添加了!(感叹号),导致出错,修改方法如下(添加配置,去掉默认前缀感叹号):   angular.module('routingDemoApp',['ng ...

  9. 22. Angular 中用 a 标签 href 路由时在浏览器中显示异常 "%2F" 路由失败问题

    转自:https://blog.csdn.net/duansale/article/details/77455355 <a href="#/index">index&l ...

随机推荐

  1. c/c++ 网络编程 UDP 改变IP地址

    网络编程 UDP 改变IP地址 在程序里动态改变主机的IP地址 1,改变ipv4的地址 #include <stdio.h> #include <string.h> #incl ...

  2. RX 和 TX

    我们在ifconfig 查看网卡配置时或者嵌入式开发的时候,经常会看到rx/tx缩写,其含义如下: RX==receive,接收,从开启到现在接收封包的情况,是下行流量. TX==Transmit,发 ...

  3. 抖音、YouTube、Facebook等新媒体营销与运营相关14本书

    最近几年看过的抖音等新媒体营销与运营相关的书有14本,好书不多.具体清单整理如下,点击标题或图片可以看详细点评与内容摘抄: 4星|<屏幕上的聪明决策>:人在手机/电脑上做选择的心理学研究综 ...

  4. 第二节 pandas 基础知识

    pandas 两种数据结构 Series和DataFrame 一  Series 一种类似与一维数组的对象 values:一组数据(ndarray类型) index:相关的数据索引标签 1.1  se ...

  5. KafkaManager编译安装使用(支持kerberos认证)

    为了能够方便的查看及管理Kafka集群,yahoo提供了一个基于Web的管理工具(Kafka-Manager). 这个工具可以方便的查看集群中Kafka的Topic的状态(分区.副本及消息量等),支持 ...

  6. springboot操作mongodb

    springboot操作mongodb 采用MongoRepository操作mongodb springboot版本2.1.2.RELEASE 注意的是:在运行应用程序时,会报错OSS Algori ...

  7. 【js】this问题

    var obj = { a: 10, b: () => { console.log(this.a); // undefined console.log(this); // Window {pos ...

  8. log4cplus 简单记录

    请注意区别对待: 1.2.1  :  不支持 C++11,比如 std::move 就会 fail. 2.0.1  :  支持 C++11,比如 std::move 就 ok. 完.

  9. python小白——进阶之路——day1天---认识python和变量、注释

    ###-python的认知 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido) (1)版本: python2.x原码不规范,重复较多 python3x:原码 ...

  10. Lightoj 1128 - Greatest Parent

    Gate 倍增模板,在一个严格小根堆中,给定$x,y$,求$x$的祖先中$≥y$的最高点. 注意清零 #include<cstdio> #include<iostream> # ...