2016-03-16 21 views
9

Przeczytałem całą dokumentację dotyczącą znacznika skryptu, ale nie mogę znaleźć sposobu na napisanie znacznika skryptu na stronie AMP HTML, chociaż wiem, że "znacznik skryptu jest zabroniony, chyba że typem jest application/ld+json". Mają pewne domyślne komponenty uruchomieniowe AMP i rozszerzone komponenty, które zawierają konkretną formę dla różnych składników.Google AMP najlepszy sposób napisania tagu skryptu JS

Nie mogę znaleźć konkretnej formy niestandardowego js w formacie AMP HTML. Oto mój tag skryptu:

<script src="https://arifkarim.com/widget/layouts/global/js/legaltext.js"></script> 
+0

Masz rację, że tylko non wykonywalne znaczniki skryptów, takich jak 'application/ld + json' tagi są dozwolone. Znaczniki skryptów są zabronione, z wyjątkiem obowiązkowego znacznika skryptu, który ładuje środowisko wykonawcze AMP i znaczniki skryptu w celu ładowania rozszerzonych składników. Możesz zobaczyć konkretny formularz dla niestandardowych js w dokumentacji [* Allowed and Prohibited AMP html tags] (http://ampready.com/getting-started). – abielita

+1

To ja wiem, ale wciąż mam z tym problem, ale nie znalazłem żadnego rozwiązania. tak, dziękuję –

Odpowiedz

4

<script> znaczniki są generalnie niedozwolone w AMP. Istnieje kilka zewnętrznych plików javascript, zbudowanych w ramach projektu AMP, które są dozwolone, a nawet wymagane w niektórych przypadkach. Poza tym javascript nie jest dozwolony. Niestandardowe znaczniki skryptów nie są możliwe w AMP.

+0

tak, wiem, ale nadal myślę, co powinienem zrobić –

+4

Musisz usunąć tag skryptu. – Gregable

25

Cały punkt AMP to zezwalanie tylko na podzbiór technologii internetowych, które spowalniają działanie strony.

Javascript jest często przyczyną powolnych stron internetowych, więc strony AMP na to nie zezwalają (z wyjątkiem samych skryptów AMP), chociaż starają się wypełnić lukę, którą pozostawiają komponenty wzmacniacza, które są specjalnie napisane na nie być powolnym.

Więc jeśli chcesz używać Javascript masz kilka możliwości:

  1. Nie używaj wzmacniacza. Nikt cię na to nie zmusza.
  2. Usuń znacznik skryptu z dokumentu wzmacniacza i uruchom bez tej funkcji.
  3. Znajdź wzmacniacz, który działa tak samo jak JavaScript i użyj go. Nie mam pojęcia, co to jest legaltext.js. Zgaduję, że nazwa wyświetla jakiś tekst prawny, taki jak komunikat cookie, więc może zamiast tego może działać widget amp-user-notification?
  4. Skorzystaj ze skryptu Javascript w wersji amp iframe. Są one dozwolone na stronach wzmacniaczy, ale można przypuszczać, że mają niższy priorytet, aby nie spowalniały strony głównej.
+0

ok, Dzięki za te informacje –

+0

Witam, może proszę podać przykład strony AMP ładującej javascript z amp-iframe? – Apalabrados

+1

https://www.ampproject.org/docs/reference/components/amp-iframe –

4

Aby użyć niestandardowego skryptu Javascript na stronie AMP, należy napisać go w pliku Javascript (np. amp-iframe-0.1.js). Następnie dodaj ten skrypt do <head>: <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>

Niestandardowy javascript można wywołać za pomocą amp-iframe. Np .:

<amp-iframe width=300 height=300 
    sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox" 
    layout="responsive" 
    frameborder="0" 
    src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q=Alameda,%20CA"> 
</amp-iframe> 
+2

gdzie jest wywoływany javascript? – xiaodai

+0

Nie znajduję w tym javascript –