如何在AMP网站上获取查询字符串值?

时间:2016-10-14 05:50:19

标签: amp-html

有没有办法从AMP-HTML网站检索查询字符串值并将它们存储在cookie中或在链接中使用它们?

示例:

  1. 用户点击广告www.example.com/amp?foo=bar
  2. 打开AMP网站
  3. 点击链接进入结帐 - 而不是AMP www.example.com/checkout?foo=bar

4 个答案:

答案 0 :(得分:2)

您应该能够使用QUERY_PARAM()变量来获取amp-pixel或amp-analytics中的变量。

https://github.com/ampproject/amphtml/blob/master/spec/amp-var-substitutions.md#query_param

答案 1 :(得分:2)

您可以使用QUERY_PARAM

https://expample.amp.com?slug=1234abc
<a
  href="https://example.com?abc=QUERY_PARAM(slug)"
  data-amp-replace="QUERY_PARAM"
  >Go to my site</a
>
<amp-list id="time"
            layout="fixed-height"
            height="18"
            src="https://api.exemple.com/posts?slug=QUERY_PARAM(slug)"
            binding="refresh"
            data-amp-replace="QUERY_PARAM"
            single-item
            items=".">
    <template type="amp-mustache">
      ...
    </template>
  </amp-list>

答案 2 :(得分:1)

只是扩展Avi的答案。你也可以在表格和锚标签()中使用它:

<form method="post" id="form1" role="search" action-xhr="https://example.com/path/to/something" target="_top" on="submit-success:msg-thanks-sticky;submit-error:msg-sorry-sticky">
[...]
<input type="hidden" class="inputHidden" name="param1" value="QUERY_PARAM(param1)" data-amp-replace="QUERY_PARAM">
<input type="hidden" class="inputHidden" name="param2" value="QUERY_PARAM(param2)" data-amp-replace="QUERY_PARAM">

[...]
</form>

请注意此特定标记所需的“data-amp-replace”属性。

详细信息: - https://github.com/ampproject/amphtml/blob/master/spec/amp-var-substitutions.md#substitution-timing - https://github.com/ampproject/amphtml/blob/master/extensions/amp-form/amp-form.md#variable-substitutions

答案 3 :(得分:0)

在非AMP结帐页面上,您可以使用JavaScript阅读document.referrer并提取传递到AMP着陆页的查询字符串。

例如:

  1. 加载https://www.ampproject.org/?foo=bar
  2. 点击任意链接,例如https://www.ampproject.org/docs/get_started/about-amp.html
  3. 打开JavaScript控制台。
  4. 检查document.referrer并查看其中包含"https://www.ampproject.org/?foo=bar"
  5. 请注意,当HTTPS页面链接到HTTP URL时,document.referrer may be empty