【问题标题】:What is required for publishers to write code that hooks into events in amp-story?发布者编写与 amp-story 中的事件挂钩的代码需要什么?
【发布时间】:2020-12-22 17:21:08
【问题描述】:

例如,HTML DOM 事件允许 JavaScript 在 HTML 文档中的元素上注册不同的事件处理程序。

事件通常与函数结合使用,在事件发生之前(如用户点击按钮),函数不会被执行。

好处

虽然缺乏良好的文档,但对于 JavaScript 编码人员来说,将一个带参数的函数(即 Function_Name(Parameter))添加到 JavaScript 的标准“On”事件之一(即“OnClick”或“onKeyDown”)相对简单。高级程序员可能将此称为动态运行时事件分配,其中函数使用传递的参数。

假设我们在网页上有一个文本区域字段,并且我们希望每次他们在该字段内击键时执行一些功能。在我们的真实示例中,我们想计算字符数,这样我们就可以让用户知道他们离限制有多近,并在超过限制时警告他们。要捕获击键,我们需要挂钩 JavaScript 的“onKeyUp”和“onKeyDown”事件。

经验丰富的 JavaScript 开发人员知道,添加这些钩子的最简单方法是将它们包含在 textarea 的 HTML 中,如下所示:

【问题讨论】:

    标签: javascript dom-events amp-html amp-story


    【解决方案1】:

    目前使用 JavaScript 创作页面的 AMP 无效。具体见How AMP works

    AMP 页面不能包含任何作者编写的 JavaScript。交互式页面功能不是使用 JavaScript,而是在自定义 AMP 元素中处理。自定义 AMP 元素的底层可能包含 JavaScript,但它们经过精心设计以确保它们不会导致性能下降。

    下一段接着说:

    虽然 iframe 中允许使用第三方 JS,但它不能阻止渲染。例如,如果第三方 JS 使用 super-bad-for-performance document.write API,它不会阻塞渲染主页面。

    但是,amp-story 特别不允许作者指定的 iframe。

    因此,我不相信您在此处要求的内容在 amp-story 的当前状态下是可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多