AMP状态无法在iPhone上更新

时间:2019-06-10 13:53:59

标签: amp-html

我正在使用AMP.setState来跟踪要在导航中显示的子项。在所有桌面浏览器上,这都可以正常工作。但是,在iPhone上,这些状态更新似乎无效。

  <header>
    <button class="close" on="tap:megamenu.close" role="button" tabindex="0">
      <span>Close</span>
    </button>
  </header>

  <nav class="hb__megaMenu--mobile">
    @{
      var parentIndex = 0;
    }

    @foreach (var item in Model.Items)
    {
      var childIndex = 0;
      var highlightClass = parentIndex == Model.Items.Count - 1 ? "highlight" : "";

      if (item.Children != null && item.Children.Count > 0)
      {

      <ul class="@highlightClass">
        @foreach (var child in item.Children)
        {
          var selectedClass = child.Selected ? "selected" : "";
          <li class="@selectedClass">
            @if (child.Children != null && child.Children.Count > 0)
            {
              <span class="link" role="button" tabindex="@childIndex" on="tap: megamenu-level-1.open, AMP.setState({parentId: @parentIndex, childId: @childIndex, childItems: menuItems[@parentIndex].Children[@childIndex].Children})">
                <span>@Html.Raw(child.Label)</span>
                <span class="icon icon--rightarrow"></span>
              </span>
            }
            else
            {
              <a href="#">@Html.Raw(child.Label)</a>
            }
          </li>

          childIndex++;
        }
      </ul>
        }
        parentIndex++;
      }
  </nav>
</amp-sidebar>

<amp-sidebar id="megamenu-level-1" class="overlay overlay--megamenu" layout="nodisplay" side="left">
  <header>
    <button class="close" on="tap:megamenu-level-1.close,megamenu.close" role="button" tabindex="0">
      Close
    </button>
  </header>

  <header class="backHeader">
    <button class="close" on="tap:megamenu-level-1.close" role="button" tabindex="0">
      Back
    </button>
  </header>

  <nav class="hb__megaMenu--mobile">
    <ul>
      <amp-list layout="fixed-height" height="700" [src]="childItems" items=".">
        <template type="amp-mustache">
          {{#Selected}}
          <li class="selected">
            <span>{{child.Label}}</span>
          {{/Selected}}

          {{^Selected}}
          <li>
          {{/Selected}}

          {{#Children}}
            <span class="link" role="button" tabindex="1" on="tap: AMP.setState({ levelTwoItems: childItems[{{ParentIndex}}].Children }), megamenu-level-2.open">
          {{/Children}}

          {{^Children}}
              <a href="{{ Link.Href }}">
          {{/Children}}

                {{ Label }}

          {{^Children}}
              </a>
          {{/Children}}

          {{#Children}}
              <span class="icon icon--rightarrow"></span>
          {{/Children}}
          </li>
        </template>
      </amp-list>
    </ul>
  </nav>
</amp-sidebar>

我想知道这是否是安全标头问题,因为我在桌面Safari开发人员控制台上遇到错误。我在Chrome或Firefox桌面上没有任何错误。不过,它在Android设备上似乎运行良好。

0 个答案:

没有答案