在 AMP 中运行 JavaScript

2023-12-24

我对 JavaScript 应该如何在 AMP 页面中运行感到有点困惑。

据我了解,我的 JavaScript 必须在 iframe 中执行。此类 iframe 必须放置在页面下方(至少从顶部起 75%),并且必须通过 https 提供服务。这确实有效:

<amp-iframe 
  width=300 
  height=300 
  sandbox="allow-scripts allow-popups allow-popups-to-escape-sandbox" 
  layout="responsive"
  frameborder="0" 
  src="https://localhost:8000/?p=myjs">
</amp-iframe>

在该页面中(https://localhost:8000/?p=myjs)我可以自由运行我的js。

我的问题如下:

我应该如何针对主页文档(包括 iframe)运行我的代码?

我尝试访问window.parent.document并且被阻止了。 (当然)。

谁能解释一下,如果我们所有的 js 都被杀死,AMP 人们认为我们实际上可以将页面移植到 AMP 吗?让我们的 js 在 AMP 页面上运行的推荐模式是什么?是否有这样的事情,或者只是假设开发人员必须转储所有代码?

Thanks


我应该如何针对主页文档(包括 iframe)运行我的代码?

你不是。

谁能解释一下,如果我们所有的 js 都被杀死,AMP 人们认为我们实际上可以将页面移植到 AMP 吗?

这个想法是您编写不依赖于 JavaScript 的轻量级页面。

From the spec https://www.ampproject.org/docs/reference/spec:

AMP HTML 是 HTML 的一个子集,用于以保证某些基准性能特征的方式创作内容页面(例如新闻文章)。

“新闻文章等内容页面”不需要 JavaScript。如果您不编写此类页面,那么 AMP HTML 可能不是一个好的语言选择,您应该坚持使用 HTML 5。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AMP 中运行 JavaScript 的相关文章

随机推荐