Javascript 添加节时,Shopify节不执行脚本js代码
这可能是一个很快的问题,但我找不到答案。我正在尝试构建一个带有Javascript 添加节时,Shopify节不执行脚本js代码,javascript,shopify,liquid,Javascript,Shopify,Liquid,这可能是一个很快的问题,但我找不到答案。我正在尝试构建一个带有标记的节。一旦添加并保存了该节,脚本就可以正常工作,但我的问题是,在customiser上第一个实例上添加该节js代码时,不会执行该节代码。这导致该部分看起来很难看,因为脚本需要运行。对于更多上下文,本节在节中有一个滑块脚本,在customiser中添加该节时不会执行该脚本。只有在节被保存后,滑块才会开始工作。有人有过这个问题吗?或者如何解决?我知道我可以将脚本提取到一个js文件中并从那里运行它,从html属性部分获取数据,然后使用事
标记的节。一旦添加并保存了该节,脚本就可以正常工作,但我的问题是,在customiser上第一个实例上添加该节js代码时,不会执行该节代码。这导致该部分看起来很难看,因为脚本需要运行。对于更多上下文,本节在节中有一个滑块脚本,在customiser中添加该节时不会执行该脚本。只有在节被保存后,滑块才会开始工作。有人有过这个问题吗?或者如何解决?我知道我可以将脚本提取到一个js文件中并从那里运行它,从html属性部分获取数据,然后使用事件shopify:section:load
。我想知道是否有可能将代码保留在部分中,这样我只能从一个文件中处理代码。另外,{%javascript%}
标记也有同样的问题
为了进一步解释,我在一个部分中添加了下一个脚本标记
<script>console.log("this is not executed")</script>
console.log(“未执行此操作”)
如果我在customiser中添加此部分,则不会执行该脚本标记。因此,我在控制台日志上没有收到任何消息。使用模式复选框启用或禁用,用户的设置值将存储在
settings\u data.json
{% if section.settings.script_enabled %}
<script>
$(document).ready(function(){
console.log('{{ section.settings.script_text }}');
});
</script>
{% endif %}
{% schema %}
{
"name": "section pages",
"settings": [
{
"type": "checkbox",
"id" : "script_enabled",
"label" : "enable script",
"default": true
},
{
"type": "text",
"id": "script_text",
"label": "script text",
"default": "hello from schema"
}
]
}
{% endschema %}
{%if section.settings.script_enabled%}
$(文档).ready(函数(){
log({section.settings.script_text}});
});
{%endif%}
{%schema%}
{
“名称”:“章节页面”,
“设置”:[
{
“类型”:“复选框”,
“id”:“已启用脚本”,
“标签”:“启用脚本”,
“默认值”:true
},
{
“类型”:“文本”,
“id”:“脚本文本”,
“标签”:“脚本文本”,
“默认值”:“hello from schema”
}
]
}
{%endschema%}
我认为您需要尝试alert而不是console,您会发现它是有效的。同样的问题是,当在customiser中添加新节时,脚本标记中的任何内容都不会执行。所以我想知道是否有解决办法?否则,我将不得不提取代码并添加eventListener,并在该部分的html标记中包含信息。所有代码都添加到内联代码中,主题的JS文件都很好地执行到customizer中,可能还有其他问题需要调试和修复。