Amp html 在Google AMP中,在页脚中打印当前年份的正确方式

Amp html 在Google AMP中,在页脚中打印当前年份的正确方式,amp-html,Amp Html,我知道,我们不允许在amp html页面中编写任何自定义脚本标记,但我找不到任何类型的文档,也找不到任何方法将我的小js代码写入amp html页面,但显然每次都有必要将这些代码写入我们的页脚。所以我希望有人对此有任何想法 在这里,您可以找到我们获取动态年份的通用代码 document.write(newdate().getFullYear()); AMP对javascript的限制非常严格。禁止使用脚本标记,但加载amp组件或格式化状态除外 否则,只有一些javascript表达式(重新)定义

我知道,我们不允许在amp html页面中编写任何自定义脚本标记,但我找不到任何类型的文档,也找不到任何方法将我的小js代码写入amp html页面,但显然每次都有必要将这些代码写入我们的页脚。所以我希望有人对此有任何想法

在这里,您可以找到我们获取动态年份的通用代码

document.write(newdate().getFullYear());

AMP对javascript的限制非常严格。禁止使用脚本标记,但加载amp组件或格式化状态除外

否则,只有一些javascript表达式(重新)定义状态。无法访问全局对象(如窗口或文档),只能使用特殊语法(on:event)调用自定义amp方法和事件。amp绑定的规范是一个很好的概述()

但是,有一种比在i-frame中嵌入带有js的html5更简单、更优雅的方法来实现您想要的:amp-timeago组件。通过设置日期格式(为什么不使用它作为状态)和一些@(媒体)css,您将得到您想要的内容,而无需在“amp spirit”(amp spirit)中放置一个i-frame,该i-frame会降低页面速度(如果是amp-iframe,则为事件)以及更多内容。


希望有此帮助

因为您使用的是JSP,所以在发送到客户端之前,您应该在服务器上呈现日期

在页面顶部:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
&copy; <fmt:formatDate value="${date}" pattern="yyyy" />

在页面正文中:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
&copy; <fmt:formatDate value="${date}" pattern="yyyy" />
©;

我终于找到了这个问题的解决方案。给你:1。创建一个只包含以下内容的新的简单HTML页面:1。一个简单的html5结构。2.使用JavaScript设置版权和日期。通过amp iframe将此新HTML页面插入相应页面中的正确位置。以下是我的iframe代码:“>”占位符>,如果您使用php页面,那么您也可以轻松使用类型代码。是,我也尝试过这种方法,但是我们不允许在JSP页面上编写php代码。但是无论如何,谢谢你,你能不能和JSP代码中的不一样??顺便说一句,document.write()API已经过时,被认为是有害的。你不应该在任何项目中使用。这是在AMP中特别提到的禁止第三方js的原因