Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在液体代码的不同部分使用javascript变量_Javascript_Shopify_Liquid - Fatal编程技术网

在液体代码的不同部分使用javascript变量

在液体代码的不同部分使用javascript变量,javascript,shopify,liquid,Javascript,Shopify,Liquid,我是个彻头彻尾的傻瓜。。。正在尝试修改我的shopify商店中的代码 我需要在函数中使用javascript变量来显示交货日期 如何在liquid文件中的不同javascript代码之间传递变量 {% if shippingtype == 'long' %} <script> var shippingtime = 'long'; </script> {% else

我是个彻头彻尾的傻瓜。。。正在尝试修改我的shopify商店中的代码

我需要在函数中使用javascript变量来显示交货日期

如何在liquid文件中的不同javascript代码之间传递变量

                   {% 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);
}