2016-03-29 7 views
3

Ich weiß, dass wir nicht erlauben, eine benutzerdefinierte Skript-Tag in AMP HTML-Seite schreiben, aber ich kann keine Art von Dokumentation oder eine Möglichkeit, meinen kleinen JS-Code zu schreiben in amp HTML-Seite, aber natürlich ist es notwendig, jedes Mal diese Tonhöhe in unsere Fußzeile zu schreiben. also werde ich voraussehen, dass jemand eine Idee dazu hat.In Google AMP richtigen Weg zum Drucken aktuellen Jahr in der Fußzeile

Hier finden Sie unsere gemeinsamen Code dynamisches Jahr

<script type="text/javascript">document.write(new Date().getFullYear());</script> 
+0

Endlich habe ich Lösung für dieses Problem. Hier gehts: 1. Erstellen Sie eine neue, einfache HTML-Seite, die nur enthält: 1. eine einfache HTML5-Struktur 2. das JavaScript für die Einstellung des Urheberrechts und des Datums. Fügen Sie diese neue HTML-Seite über einen Verstärker-Iframe an der richtigen Stelle auf der entsprechenden Seite ein. –

+0

Hier ist mein Iframe-Code: \t \t \t \t \t \t \t \t

+2

wenn Ihr mit pHP-Seiten, dann können Sie bequem die verwenden geben Sie auch einen Code ein. –

Antwort

0

AMP ist sehr restriktiv mit Javascript zu bekommen. Script-Tags sind verboten, außer zum Laden von Amp-Komponenten oder Jason-Formated-States.

Sonst nur einige Javascript-Ausdrücke, die Zustände (neu) definieren. Kein Zugriff auf globale Objekte wie Fenster oder Dokument und nur benutzerdefinierte Amp-Methoden und -Ereignisse werden mit einer speziellen Syntax aufgerufen (on: event). Die Spezifikationen für die Amp-Bindung sind eine gute Übersicht (https://www.ampproject.org/docs/reference/components/amp-bind).

ABER, es gibt einen viel einfacheren und eleganteren Weg als html5 mit js in ein i-frame einzubetten, um zu erreichen, was Sie wollen: Die amp-timeago Komponente. Indem Sie das Datumsformat (und warum nicht, verwenden Sie es als Status) und vielleicht einige @ (Medien) CSS, Sie erhalten, was Sie wollen, ohne ein I-Frame, die Ihre Seite verlangsamen (Event, wenn es ein Verstärker ist) iframe) und mehr im "AMP-Geist". https://www.ampproject.org/docs/reference/components/amp-timeago

Hope this Hilfe

+0

BTW Die document.write() API ist veraltet und wird als schädlich angesehen. Sie sollten in keinem Projekt verwenden. Es wird ausdrücklich als Grund für das Verbot von Drittanbieter-Js in AMP https://www.ampproject.org/learn/about-how/ http://www.stevesouders.com/blog/2012/04/10 erwähnt/dont-docwrite-scripts / – bFavreault

0

Da Sie JSP verwenden, sollten Sie nur das Datum auf dem Server übertragen, bevor an den Client gesendet.

Am oberen Rand der Seite:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 
<jsp:useBean id="date" class="java.util.Date" /> 

Im Körper Ihrer Seite:

&copy; <fmt:formatDate value="${date}" pattern="yyyy" />