Google AMP beste Möglichkeit, JS-Skript-Tag zu schreiben

10

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%     
Arif Karim 16.03.2016, 12:29
quelle

4 Antworten

25

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:

  1. Verwenden Sie keine AMP. Niemand zwingt dich dazu.
  2. Entfernen Sie das Skript-Tag aus Ihrem Amp-Dokument und leben Sie ohne diese Funktionalität.
  3. Finden Sie eine amp-Komponente, die dasselbe wie Ihr JavaScript tut und stattdessen verwendet. Ich habe keine Ahnung, was legaltext.js mit dem Namen vermuten lässt, es zeigt einen juristischen Text wie eine Cookie-Notiz, also vielleicht amp-user-notification Widget würde stattdessen funktionieren?
  4. Verwenden Sie Ihr Javascript in einem iframe . Diese sind in Amp-Seiten erlaubt, werden aber vermutlich mit einer niedrigeren Priorität geladen, um sicherzustellen, dass sie die Hauptseite nicht verlangsamen.
Barry Pollard 28.03.2016 18:55
quelle
4

<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.

    
Gregable 18.03.2016 20:38
quelle
4

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>

hinzu

Benutzerdefiniertes JavaScript kann mit amp-iframe aufgerufen werden. Zum Beispiel:

%Vor%     
PhamThang 07.09.2016 06:55
quelle
0

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!

    
Petr Tomášek 26.03.2018 07:46
quelle

Tags und Links