我知道,我們不允許在放大器html頁面中編寫任何自定義腳本標記,但我找不到任何類型的文檔或任何方式來編寫我的小js代碼到amp html頁面,但顯然有必要每次將這段代碼寫入頁腳。所以我會預料到有人對此有任何想法。Google AMP在頁腳打印當前年份的正確方法
這裏你可以找到我們共同的代碼來獲取動態一年
<script type="text/javascript">document.write(new Date().getFullYear());</script>
我知道,我們不允許在放大器html頁面中編寫任何自定義腳本標記,但我找不到任何類型的文檔或任何方式來編寫我的小js代碼到amp html頁面,但顯然有必要每次將這段代碼寫入頁腳。所以我會預料到有人對此有任何想法。Google AMP在頁腳打印當前年份的正確方法
這裏你可以找到我們共同的代碼來獲取動態一年
<script type="text/javascript">document.write(new Date().getFullYear());</script>
AMP是非常嚴格的JavaScript。腳本標記是禁止的,除了加載放大器組件或jason形式的狀態。
否則只有一些javascript表達式(重新)定義狀態。不能訪問窗口或文檔等全局對象,只能使用特殊語法(on:event)調用自定義放大器方法和事件。放大器綁定的規格是一個很好的概述(https://www.ampproject.org/docs/reference/components/amp-bind)。
但是,比在i幀中嵌入帶有js的html5來實現您想要的功能要簡單得多,也很優雅:放大器時間組件。通過設置日期格式(以及爲什麼不,將其用作狀態)以及可能的一些@(media)css,您將得到您想要的內容,而不會放置會減慢頁面的i幀(事件如果是放大器 - iframe)以及更多「AMP精神」。 https://www.ampproject.org/docs/reference/components/amp-timeago
希望這有助於
順便說一句document.write()API已經過時並被認爲是有害的。你不應該在任何項目中使用。具體提到它是禁止第三方js的理由,請參閱https://www.ampproject.org/learn/about-how/ http://www.stevesouders.com/blog/2012/04/10 /不-docwrite的腳本/ – bFavreault
由於您使用JSP你應該只發送到客戶端之前渲染服務器上的日期。
在你的頁面的頂部:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
在你的頁面的主體:
© <fmt:formatDate value="${date}" pattern="yyyy" />
最後我得到了解決這個問題。這裏你去:1.創建一個新的,簡單的HTML頁面,只包含:1.一個簡單的html5結構2.用於設置版權和日期的JavaScript。通過放大器iframe將這個新的HTML頁面插入到相應頁面的正確位置。 –
這裏是我的iframe代碼: \t \t \t \t \t \t \t \t –
如果您使用PHP的頁面,那麼你可以很容易地使用類型代碼,以及。 –