AMP

amp-twitter

实验性
Bento

描述

显示 Twitter 推文或瞬间。

 

必需的脚本

<script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-1.0.js"></script>

行为

amp-twitter 组件允许您嵌入推文或瞬间。

这是一个基本嵌入式推文的示例

<amp-twitter
  width="375"
  height="472"
  layout="responsive"
  data-tweetid="885634330868850689"
>
</amp-twitter>
在 playground 中打开此代码段

在有效的 AMP 文档之外的独立使用

Bento 允许您在非 AMP 页面中使用 AMP 组件,而无需提交到完全有效的 AMP。您可以将这些组件放置在使用不支持 AMP 的框架和 CMS 的实现中。在我们的指南中了解更多信息在非 AMP 页面中使用 AMP 组件

要查找 amp-twitter 的独立版本,请参阅bento-twitter

外观

Twitter 当前不提供为嵌入式推文或瞬间产生固定宽高比的 API。目前,AMP 会自动按比例缩放推文或瞬间以适应提供的尺寸,但这可能会产生不太理想的外观。您可能需要手动调整提供的宽度和高度。此外,您可以使用 media 属性根据屏幕宽度选择宽高比。

占位符和后备内容

带有 placeholder 属性标记的元素会在加载或初始化推文或瞬间的内容时显示。一旦 AMP 组件的内容显示,占位符就会被隐藏。如果浏览器不支持 amp-twitter,或者推文或瞬间不存在或已被删除,则会显示带有 fallback 属性标记的元素。

访问占位符和后备内容指南,了解有关 amp-twitter 组件的占位符和后备内容如何交互的更多信息。

示例:指定占位符

我只需要更改一些 CSS。pic.twitter.com/LvjLbjgY9F

— Malte Ubl (@cramforce) 2015 年 9 月 1 日
<amp-twitter
  width="375"
  height="472"
  layout="responsive"
  data-tweetid="638793490521001985"
>
  <blockquote placeholder>
    <p>
      I only needed to change some CSS.
      <a href="https://#/LvjLbjgY9F">pic.twitter.com/LvjLbjgY9F</a>
    </p>
    &mdash; Malte Ubl (@cramforce)
    <a href="https://twitter.com/cramforce/status/638793490521001985"
      >September 1, 2015</a
    >
  </blockquote>
</amp-twitter>
在 playground 中打开此代码段

示例:指定占位符和后备内容

人们通常对 AMP 有哪些 5 个常见的误解?在今天的 Amplify 版块中了解:https://#/kaSvV8SQtI pic.twitter.com/Cu9VYOmiKV

— AMP 项目 (@AMPhtml) 2017 年 4 月 20 日
检索推文时出错。它可能已被删除。
<amp-twitter
  width="390"
  height="330"
  layout="responsive"
  data-tweetid="855178606556856320"
>
  <blockquote placeholder>
    <p>
      What are 5 common misconceptions people often have about AMP? Find out on
      today&#39;s installment of Amplify:
      <a href="https://#/kaSvV8SQtI">https://#/kaSvV8SQtI</a>
      <a href="https://#/Cu9VYOmiKV">pic.twitter.com/Cu9VYOmiKV</a>
    </p>
    &mdash; AMP Project (@AMPhtml)
    <a href="https://twitter.com/AMPhtml/status/855178606556856320"
      >April 20, 2017</a
    >
  </blockquote>
  <div fallback>
    An error occurred while retrieving the Tweet. It might have been deleted.
  </div>
</amp-twitter>
在 playground 中打开此代码段

属性

data-tweetid / data-momentid / data-timeline-source-type(必需) 推文或瞬间的 ID,如果应显示时间线,则为源类型。在类似 https://twitter.com/joemccann/status/640300967154597888 的 URL 中,640300967154597888 是推文 ID。在类似 https://twitter.com/i/moments/1009149991452135424 的 URL 中,1009149991452135424 是瞬间 ID。有效的时间线源类型包括 profilelikeslistcollectionurlwidget
data-timeline-*(可选) 显示时间线时,除了 timeline-source-type 之外,还需要提供其他参数。例如,data-timeline-screen-name="amphtml"data-timeline-source-type="profile" 结合使用将显示 AMP Twitter 帐户的时间线。有关可用参数的详细信息,请参阅Twitter 的 JavaScript 工厂函数指南中的“时间线”部分。
data-*(可选) 您可以通过设置 data- 属性来指定推文、瞬间或时间线外观的选项。例如,data-cards="hidden" 会停用 Twitter 卡片。有关可用选项的详细信息,请参阅 Twitter 的文档关于推文关于瞬间关于时间线
title(可选) 为组件定义一个 title 属性。默认为 Twitter
常用属性 此元素包含扩展到 AMP 组件的常用属性

验证

请参阅 AMP 验证器规范中的 amp-twitter 规则

需要更多帮助?

您已经阅读此文档十几次,但它并没有真正涵盖您的所有问题?也许其他人也有同样的感觉:在 Stack Overflow 上联系他们。

转到 Stack Overflow
发现错误或缺少功能?

AMP 项目强烈鼓励您的参与和贡献!我们希望您能成为我们开源社区的持续参与者,但我们也欢迎您对您特别感兴趣的问题进行一次性贡献。

转到 GitHub