84
做变体选择器时直接把 {{ product.variants | json }} 塞进脚本,变体一多页面就卡,偶尔还报 JSON 解析错误。
做变体选择器时直接把 {{ product.variants | json }} 塞进脚本,变体一多页面就卡,偶尔还报 JSON 解析错误。
先把判断放在前面:product.variants | json 会输出全部字段,几十个变体就是几百 KB;字段里带特殊字符时手写拼接容易破坏 JSON。
map 无法在 Liquid 里完成时,改在 JS 里裁剪。<script type="application/json" id="variants-data"> 里,JS 侧 JSON.parse(document.getElementById('variants-data').textContent)。补一个实用做法:用 {%- assign v_json = product.variants | json -%} 后仍然很大时,可以只输出 id / title / available / price / option1..3,自己拼一个精简数组,体积通常能降 70%。
写下你实际验证过的步骤,比「我也有这个问题」有用得多。当前版本为静态展示,提交后会由团队整理并回复。