Amp-html - 我可以使用amp-position-observer来调用amp-bind中使用的AMP.setState()吗?

时间:2017-10-18 15:19:47

标签: amp-html

可以使用amp-position-observer设置AMP状态吗?

我尝试了以下代码但没有成功:

<!doctype html>
<html ⚡>
<head>
  <script async="" src="https://cdn.ampproject.org/v0.js"></script>
  <script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
  <script custom-element="amp-position-observer" src="https://cdn.ampproject.org/v0/amp-position-observer-0.1.js" async></script>
</head>

<body>
  <p [text]="'Hello ' + foo">Hello World</p>
  <div class="spacer"></div>
  <amp-position-observer
    intersection-ratios="0"
    on="enter:AMP.setState({foo: 'amp-bind'})"
    layout="nodisplay">
  </amp-position-observer>

</body>
</html>

1 个答案:

答案 0 :(得分:2)

设计不可能。 setState是一种强大的(高度信任)操作,只能通过直接用户交互来触发。滚动不被视为强大的用户交互信号。目前,位置观察者只能触发低信任度的操作,例如播放或寻求放大动画或视频。