Перезапустите обратный отсчет amp-date-countdown после нажатия ссылки - PullRequest
0 голосов
/ 09 мая 2020

Я хочу перезапустить счетчик по истечении времени ожидания компонента amp-date-countdown и щелкаю ссылку. Я могу скрыть счетчик и показать ссылку через 10 се c. Я также могу видеть счетчик при нажатии на ссылку, но счетчик остается на 0. Я знаю, что мы можем использовать только low-trust actions such as amp-animation по таймауту обратного отсчета. Есть ли способ перезапустить счетчик?

Вот код игровой площадки AMP, который я пробовал

<!doctype html>
<html ⚡>
<head>
  <meta charset="utf-8">
  <title>My AMP Page</title>
  <link rel="canonical" href="self.html" />
  <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
  <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <script async custom-element="amp-animation" src="https://cdn.ampproject.org/v0/amp-animation-0.1.js"></script>
  <script async custom-element="amp-date-countdown" src="https://cdn.ampproject.org/v0/amp-date-countdown-0.1.js"></script>
  <script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>
  <style amp-custom>
    h1 {
      margin: 1rem;
    }
  </style>
</head>
<body>
  <a 
     id="otplink" 
     href="#" 
     style="visibility:hidden"
     on="tap:show-countdown.start">Restart timer</a>
  <amp-animation id="hide-timeout-event" layout="nodisplay">
  <script type="application/json">
    [{
      "fill": "both",
      "selector": "#otplink",
      "keyframes": {"visibility": "visible"}
    },{
      "fill": "both",
      "selector": "#ampdate",
      "keyframes": {"visibility": "hidden"}
    }]
  </script>
</amp-animation>
  <amp-animation id="show-countdown" layout="nodisplay">
  <script type="application/json">
   {
      "fill": "both",
      "selector": "#ampdate",
      "keyframes": {"visibility": "visible"}
    }
  </script>
</amp-animation>
  <amp-date-countdown
  timeleft-ms="10000"
  layout="fixed-height"
  height="50"
  when-ended = "stop"
  id="ampdate"
  on="timeout: hide-timeout-event.start"
>
  <template type="amp-mustache">
    <p class="p1">
{{s}} seconds left
    </p>
  </template>
</amp-date-countdown>
</body>
</html>


...