You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AMP自定义脚本传递PHP动态值遇哈希问题,求解决方案

问题:AMP页面动态传递post_id导致脚本哈希频繁变更的解决方案

背景与现有实现

我需要给网站的AMP版本页面添加分析API脚本,原本通过PHP将动态$post_id传入自定义AMP脚本,代码如下:

// api_call_component.php
<amp-script script="page_view">
    <div style="height: 5px"></div>
</amp-script>
<script id="page_view" type="text/plain" target="amp-script">
    function page_view(type, id) {
        let formData = `page_type=${type}&id=${id}`
        fetch("my_url/api/add_page_view", {
            method: "POST",
            headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}, 
            body: formData
        })
    }
    page_view('post', <?php echo $post_id ?>) // 该行随post_id动态变化
</script>

核心问题

上述代码功能正常,但每次$post_id变更时,AMP都会要求生成新的脚本哈希——因为脚本内容随post_id动态改变,这带来了不必要的维护成本,因此需要将脚本改为非动态实现。

已尝试的无效方案

  • 尝试从URL中提取post_id,但AMP页面会生成新的URL,此方法无法获取到正确的id。
  • 尝试通过WorkerDOM相关方法(如Document.URL、URL.href)获取页面URL,但返回值为undefined。

求助方向

目前考虑通过DOM元素读取post_id,但想了解是否存在更简洁、符合AMP规范的解决方案?

内容的提问来源于stack exchange,提问作者MrFacundo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:36:29