Amp html 在AMP中运行JavaScript
对于如何在AMP页面中运行JavaScript,我有点困惑 我了解到我的JavaScript必须在iframe中执行。这样的iframe必须放在页面中(至少75%从顶部开始),并且必须通过https提供服务。这确实有效:Amp html 在AMP中运行JavaScript,amp-html,Amp Html,对于如何在AMP页面中运行JavaScript,我有点困惑 我了解到我的JavaScript必须在iframe中执行。这样的iframe必须放在页面中(至少75%从顶部开始),并且必须通过https提供服务。这确实有效: <amp-iframe width=300 height=300 sandbox="allow-scripts allow-popups allow-popups-to-escape-sandbox" layout="responsive" f
<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?建议在AMP页面上运行js的模式是什么?是否存在这样的情况,或者只是假设开发人员必须转储所有代码
谢谢
我应该如何针对包含iframe的主页文档运行代码
你不是
有人能解释一下,如果我们所有的js都被杀了,AMP的人怎么会认为我们可以将页面移植到AMP
其思想是编写不依赖JavaScript的轻量级页面
发件人:
AMP HTML是HTML的一个子集,用于以保证某些基线性能特征的方式编写内容页(如新闻文章)
“新闻文章等内容页面”不需要JavaScript。如果您没有编写这种页面,那么AMP HTML可能不是一种好的语言选择,您应该坚持使用HTML5。正如另一位评论员所说,AMP的一个基本支柱是您不能运行自己的JavaScript。这样做的目的是使网页更快、更简单、更可靠 您确实可以在iframe中运行JS,但是JS与主页的交互将非常有限 因此,使用像vue.js这样的框架与AMP的观点相反
另一方面,AMP自带了各种各样的内置功能,从而消除了对大多数JS的需求。这是一个web组件库。通过和可以实现相当数量的动态交互和服务器通信。在2018年AMP大会上,引入了对自定义web workers的支持。它应该在今年晚些时候准备好。谷歌似乎正在推动amp成为新的需求。人们说这是为了发布“新闻”,但谷歌似乎并没有推动这一方向。以下是amp项目关于amp用途的说明: 网页速度提高了用户体验和核心业务指标。AMP页面几乎立即加载,使您能够在所有连接到AMP页面的设备和平台(包括Google、Bing、LinkedIn等)上提供一致的快速体验。这些性能提升通常会转化为重要数字的改善,例如在页面、回访和CTR上花费的时间 我没有看到任何关于创作新闻文章的提及。这意味着你需要采纳它,但我不相信。它是高度限制性的,并剥夺了创造力。国际海事组织。截至2019年4月11日 现在,您可以在AMP页面中包含自定义JavaScript AMP页面通过
...
...
可以从JavaScript修改的初始内容
...
我刚刚找到了这个问题的旧答案,现在这个答案已经过时了
AMP现在提供。或者试试看
此外,如果有效的AMP对您不重要,欢迎您包含所有您想要的JavaScript!它只是无法通过验证。可能会使有效的AMP变得不那么重要,这取决于您的用例。是否可以在脚本标记中包含async并执行js?我在我的本地网站及其工作环境中尝试了这一点。如果网站的每个页面都需要遵守一个标准,即显示当前部署的应用程序版本等,该怎么办?这里将更全面地讨论这个问题:
<!doctype html>
<html ⚡>
<head>
...
<script async custom-element="amp-script" src="https://cdn.ampproject.org/v0/amp-script-0.1.js"></script>
<body>
...
<amp-script layout="container" src="https://example.com/myfile.js">
<p>Initial content that can be modified from JavaScript</p>
</amp-script>
...
</body>
</html>