在液体代码的不同部分使用javascript变量
我是个彻头彻尾的傻瓜。。。正在尝试修改我的shopify商店中的代码 我需要在函数中使用javascript变量来显示交货日期 如何在liquid文件中的不同javascript代码之间传递变量在液体代码的不同部分使用javascript变量,javascript,shopify,liquid,Javascript,Shopify,Liquid,我是个彻头彻尾的傻瓜。。。正在尝试修改我的shopify商店中的代码 我需要在函数中使用javascript变量来显示交货日期 如何在liquid文件中的不同javascript代码之间传递变量 {% if shippingtype == 'long' %} <script> var shippingtime = 'long'; </script> {% else
{% if shippingtype == 'long' %}
<script> var shippingtime = 'long'; </script>
{% else %}
<script> var shippingtime = 'short'; </script>
{% endif %}
<script>
alert(shippingtime); //and do other stuff with variable
</script>
{%if shippingtype='long%}
var shippingtime=‘long’;
{%else%}
var shippingtime=‘短’;
{%endif%}
警报(发货时间)//用变量做其他事情
恐怕这样不行。你可以像上面尝试的那样做,但这不是一种干净的方式。相反,在文档中可以读取的某个位置设置值,例如在输入
元素中
<input type="hidden" name="shippingtime" value="{{ shippingtime }}"/>
无论何时浏览页面,都会重新加载所有内容,包括所有JS。但您可以使用存储变量。可以使用sessionStorage
将它们存储在会话中(存储到浏览器关闭之前),也可以使用localStorage
无限期地存储它们。对于本例,我将使用会话存储
// Stores the value.
sessionStorage.setItem('shippingtime', value);
在另一个页面上,您可以检查存储器是否有名为shippingtime
的项
const shippingTime = sessionStorage.getItem('shippingtime');
if (shippingTime !== null) {
// Use the shippintTime value here.
console.log(shippingTime);
}
希望这对你有所帮助。如果您有任何问题或我不清楚,请告诉我。很遗憾,您没有提供足够的问题背景,以便有人正确回答。您需要在什么时候显示它?您需要在哪里显示它?价值最初来自哪里?我不熟悉shopify,但通常最好的方法是从服务器(如数据库)将其加载到页面上。shipping time变量是在购物车页面上创建的。当用户从购物车中添加或删除物品时,它将根据库存水平而变化。因此,它应该在页面加载后根据用户输入进行更改。它应该显示在购物车底部靠近付款按钮的地方。谢谢,我想会话存储将是未来的发展方向。我昨晚无法让它工作,但稍后将重试。我现在正在使用会话存储,这就是我需要的。谢谢
const shippingTime = sessionStorage.getItem('shippingtime');
if (shippingTime !== null) {
// Use the shippintTime value here.
console.log(shippingTime);
}