Je suis un peu confus quant à la manière dont JavaScript est supposé d'être exécuté dans une page AMP.
Je suis arrivé aussi loin que de comprendre que mon JavaScript doit être exécuté dans un iframe. Un tel iframe doit être placé dans la page (75% au moins du haut) et doit être servi via HTTPS. Cela fonctionne effectivement: p> dans cette page ( Mon problème est le suivant: P> Comment suis-je censé exécuter mon code par rapport au document de la page principale, y compris l'IFrame? P> J'ai essayé Accéder à Quelqu'un peut-il expliquer comment les personnes AMP pensent que nous pouvons réellement porter des pages à amplifier si tout notre JS est tué? Quel est le modèle recommandé pour que notre JS fonctionne sur une page AMP? Y a-t-il une telle chose ou est-ce juste supposé que les développeurs doivent jeter tout leur code? P> merci p> p> https: // localhost: 8000 /? P = myjs code>) je peux courir librement mon JS . P>
fenêtre.parent.document code> et qui est bloqué. (bien sûr). P>
6 Réponses :
Comment suis-je censé exécuter mon code contre le document de la page principale, y compris l'IFrame? P> blockQuote>
Vous n'êtes pas. p>
Quelqu'un peut-il expliquer comment les personnes AMP pensent que nous pouvons réellement porter des pages à AMP si tout notre JS est tué? P> blockQuote>
L'idée est que vous écrivez des pages légères qui ne dépendent pas de JavaScript. P>
de La spécification : p>
amp html est un sous-ensemble de HTML pour créer des pages de contenu tels que des articles de presse de manière à garantir certaines caractéristiques de performance de base. em> p> blockQuote>
"Pages de contenu tels que des articles de presse" Vous n'avez pas besoin de JavaScript. Si vous n'écrivez pas ce type de page, alors peut-être que AMP HTML n'est pas un bon choix de langue et vous devez vous en tenir à HTML 5. P>
Est-il possible d'inclure Async sur la balise de script et exécuter votre JS? J'ai essayé cela sur mon local et son travail.
Et si chaque page du site doit adhérer à une norme I.e. Affichage de la version de l'application actuellement déployée, etc.?
Comme l'autre commentateur dit, l'un des piliers de base de l'ampli est que vous ne pouvez pas exécuter votre propre JavaScript. L'idée est de faire des pages Web plus rapidement, plus simples et plus fiables. P>
Vous pouvez en effet exécuter JS dans un iframe, mais que l'interaction de JS avec la page principale sera très limitée. P>
Ainsi, en utilisant un cadre comme VUE.JS se contrarie au point d'ampli. p>
D'autre part, AMP est livré avec toutes sortes de choses intégrées qui évitent la nécessité de la plupart des JS. C'est une bibliothèque de composants Web. Et une juste quantité d'interaction dynamique et de communication de serveur est possible via et. P>
à l'AMP Conf 2018 Le support de la personnalité JS in Amp à l'aide de travailleurs Web était introduit. Il devrait être prêt plus tard cette année. P>
Google semble repousser des amplis comme nouvelle exigence. Les gens disent que c'est pour mettre des "nouvelles" mais Google ne semble pas pousser cette direction. Voici ce que le projet AMP indique sur quel ampli est pour: p>
La vitesse de la page Web améliore l'expérience utilisateur et les métriques métriques de base. Chargement des pages AMP à proximité vous permet d'offrir une expérience systématiquement rapide sur tous les périphériques et toutes les plateformes qui pointent vers des pages AMP, y compris Google, Bing, LinkedIn, etc. Ces gains de performance se traduisent souvent par des améliorations dans les chiffres qui comptent, tels que le temps passé à la page, les visites de retour et les CTR. P>
Je ne vois aucune mention de création d'articles de presse. L'implication est que vous devez l'adopter, mais je n'ai pas acheté cela. Il est très restrictif et supprime la créativité. Imo. P>
au 11 avril 2019 annonce officielle ,
Maintenant, vous pouvez inclure JavaScript personnalisé dans les pages AMP P>
Pages AMP Prise en charge de JavaScript personnalisé via le Essayez exemple de script AMP P>
<!doctype html>
<html â¡>
<head>
...
<script async custom-element="amp-script" src="https://cdn.ampproject.org/v0/amp-script-0.1.js"></script>
<body>
...
<amp-script layout="container" src="https://example.com/myfile.js">
<p>Initial content that can be modified from JavaScript</p>
</amp-script>
...
</body>
</html>
Il suffit de courir à travers ma vieille réponse à cette question, qui est maintenant cruellement obsolète. P>
ampli offre maintenant En outre, si l'AMP valide n'est pas important pour vous, vous pouvez inclure tout le JavaScript que vous voulez! Il ne passera tout simplement pas la validation. Annonces récentes dans la recherche Google peut rendre une ampli valide pas aussi cruciale , en fonction de votre cas d'utilisation. P>
Cette question est discutée plus complète ici: Stackoverflow.com/Questtions/36035733/...