Ich habe die gesamte Dokumentation über das Skript-Tag gelesen, aber ich kann nicht finden, wie man ein Skript-Tag in die AMP-HTML-Seite schreibt, obwohl ich weiß, dass das Skript-Tag unzulässig ist, es sei denn, der Typ ist application/ld+json
. Sie haben einige Standard-AMP-Laufzeitkomponenten und erweiterte Komponenten, die spezifische Form für verschiedene Komponenten enthalten.
Ich konnte das spezifische Formular für benutzerdefinierte js in AMP HTML nicht finden. Hier ist mein Skript-Tag:
%Vor%Der ganze Sinn von AMP besteht darin, nur einer Teilmenge von Web-Technologien zu erlauben, Ihre Seite langsam zu halten.
Javascript ist oft die Ursache für langsame Webseiten und so erlauben AMP-Seiten sie nicht (mit Ausnahme der AMP-Skripte selbst), obwohl sie versucht haben, die Lücke zu füllen, die bei Amp-Komponenten hinterlassen wird, die speziell dafür geschrieben wurden langsam.
Wenn Sie Javascript verwenden möchten, haben Sie mehrere Möglichkeiten:
<script>
-Tags sind in AMP generell nicht erlaubt. Es gibt eine Handvoll externer Javascript-Dateien, die als Teil des AMP-Projekts erstellt wurden und in einigen Fällen erlaubt und sogar erforderlich sind. Außer diesen ist Javascript nicht erlaubt. Benutzerdefinierte Skript-Tags sind mit AMP nicht möglich.
Um benutzerdefiniertes Javascript in der AMP-Seite zu verwenden, sollten Sie es in eine Javascript-Datei schreiben (z. B .: amp-iframe-0.1.js ).
Fügen Sie dieses Skript dann zu <head>
: <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
Benutzerdefiniertes JavaScript kann mit amp-iframe aufgerufen werden. Zum Beispiel:
%Vor%Ok, ich hatte das gleiche Problem und der beste Weg für mich ist die Verwendung von iframe, welches der Prozessor asynchron rendert. Es bedeutet, Sie können es zum Beispiel so lösen:
Serverseitige API: GET-Anfrage (zum Beispiel / api / frames / my-js-script-app ). Nach dem Aufruf erhalten Sie den folgenden Code:
%Vor%Fügen Sie AMP frame lib zu Ihrer App hinzu:
%Vor%Nun können Sie dies in Ihrem Körper verwenden:
%Vor%Seien Sie vorsichtig beim Erstellen von API auf Ihrem Server. Der AMP-Frame benötigt eine Ссылка Kommunikation - das bedeutet etwa so: Ссылка
Jetzt rendert Amp Ihre App asynchron und alle sind glücklich: -))
Ich hoffe, es hilft!
Tags und Links amp-html