【发布时间】:2016-03-11 19:31:24
【问题描述】:
这是 Twitter API 1.1 对 api.twitter.com/1/statuses/oembed.{format} 的 html 请求响应示例,它不会导致 twitter-video-error当 Widgets 脚本 widgets.js?
重现错误的步骤:
- 通过以下方式请求 API:1.1/statuses/oembed.json?id=672098352037785600&maxwidth=500&hide_thread=true&omit_script=true&align=center&widget_type=video&hide_tweet=true
- 在单个 div 中绑定,手动编写,响应的 html 属性内的代码。在主页上使用角度指令
ng-bind-html。 - 执行
//platform.twitter.com/widgets.js后检查渲染代码
响应中的 HTML:
<blockquote class=\"twitter-video\" data-status=\"hidden\"><p lang=\"ro\" dir=\"ltr\">The Good Dinosaur <a href=\"https://twitter.com/hashtag/Trailler?src=hash\">#Trailler</a> Movie: <a href=\"https://t.co/xQxGt5RAwK\">https://t.co/xQxGt5RAwK</a> melalui <a href=\"https://twitter.com/YouTube\">@YouTube</a></p>— Udin Media ™ (@MediaUdin) <a href=\"https://twitter.com/MediaUdin/status/672098352037785600\">December 2, 2015</a></blockquote>
根据 API,
嵌入式推文分为两部分:
<blockquote>包含推文 Twitter 服务器上的信息和 JavaScript 文件 将<blockquote>转换为完全渲染的推文。如果你看到 推文在您的页面上,但不是完全渲染的推文,这是可能的 您的 CMS 或编辑界面删除了渲染所需的<script>推文。尝试切换到“文本”、“HTML”或“代码编辑”模式以直接 输入预先格式化的推文信息。富文本或所见即所得 编辑器可能会误解粘贴的 HTML 代码,这可能会干扰 在你的页面上发布一条推文。
那么“切换到“文本”、“HTML”或“代码编辑”模式是什么意思?在哪里?怎么样?
我在 HTML 中的摘录:
<script>!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');
</script>
<div ng-bind-html="htmloembedresponse"</div>
渲染页面:
<blockquote class="twitter-video twitter-video-error" data-twitter-extracted-i144954813610521315"=true....
因此,小部件渲染中不包含任何图标、图像/视频、按钮。 A 目前的文档非常简单。
【问题讨论】:
标签: html angularjs twitter embed