在 AMP(ACCELERATED MOBILE PAGES) wesbite 中使用自定义香草 JavaScript

What is the correct way to use custom vanilla javascript with in a AMP (ACCELERATED MOBILE PAGES) wesbite

本文关键字:自定义 JavaScript 香草 wesbite AMP ACCELERATED MOBILE PAGES      更新时间:2023-09-26

IV已经浏览了加速移动页面项目示例和文档。在我看来,不允许使用JavaScript(内联和/或src)。下面是代码片段。这是我得到的验证错误。

标记"amphtml 引擎 v0.js 脚本"中的属性"src"设置为无效值

function loads_stuff(){
          var $body = document.body,
            $menu_trigger = $body.getElementsByClassName('menu-trigger')[0];
          if (typeof $menu_trigger !== 'undefined') {
            $menu_trigger.addEventListener('click', function() {
              $body.className = ($body.className == 'menu-active') ? '' : 'menu-active';
            });
          }
    }
window.onload = loads_stuff;

我知道 AMP 只允许您将<script type="application/ld+json">用作内联 JavaScript,但这适用于 json。我真正需要的只是制作一个非常简单的移动菜单,其中包含显示和隐藏div 的一键式事件。

amp-iframe 之外的有效 AMP 中不允许使用第三方 JavaScript。我建议amp-sidebar简单的汉堡菜单。

2019 年 8 月,他们推出了允许添加自定义 JavaScript 的<amp-script>