Google AMP编写JS脚本标记的最佳方式

Faz*_*rim 16 javascript amp-html

我已经阅读了有关脚本标记的所有文档,但我找不到如何在AMP HTML页面中编写脚本标记,尽管我知道"脚本标记是禁止的,除非类型是<script>".它们有一些默认的AMP运行时组件和扩展组件,它们包含不同组件的特定形式.

我在AMP HTML中找不到自定义js的具体形式.这是我的脚本标记:

<script src="https://arifkarim.com/widget/layouts/global/js/legaltext.js"></script>
Run Code Online (Sandbox Code Playgroud)

Bar*_*ard 31

AMP的重点是只允许一部分Web技术阻止您的页面变慢.

Javascript通常是网站速度慢的原因,因此AMP页面不允许它们(AMP脚本本身除外),尽管他们试图填补这个与专门编写的放大器组件之间的差距并不慢.

因此,如果您想使用Javascript,您有以下几种选择:

  1. 不要使用AMP.没有人强迫你这么做.
  2. 从放大器文档中删除脚本标记,并在没有该功能的情况下生存.
  3. 找到一个与JavaScript相同的放大器组件,然后使用它.不知道legaltext.js我会猜到它的名称会显示一些法律文本,如cookie通知,所以也许amp-user-notification小部件会起作用吗?
  4. 放大器iframe中使用您的Javascript .这些在放大器页面中是允许的,但是可以假设它们具有较低的优先级,以确保它们不会减慢主页面的速度.

  • 对于 #1 - 不要使用 AMP - 我想您仍然可以使用 AMP 并仍然获得大部分速度优势,但您不会将其声明或验证为 AMP。(在这种情况下,您可以将 AMP 视为实现快速网站的一组最佳实践和代码示例。) (2认同)
  • @Tom 使用 AMP 的全部意义在于让 Google 缓存您的页面。如果您不打算将其声明或验证为 AMP,那么它就违背了整个目的。AMP 当然不是一套最佳实践。 (2认同)

Gre*_*ble 4

<script>AMP 中通常不允许使用标签。有一些外部 javascript 文件是作为 AMP 项目的一部分构建的,在某些情况下是允许的甚至是必需的。除此之外,不允许使用 JavaScript。AMP 无法使用自定义脚本标签。

  • 您需要删除脚本标签。 (6认同)