shopify - 在液体中查找窗口宽度
问题描述
我正在寻找一种方法来使用 if 语句,包括直接在 Liquid 中的视口宽度,而不是在 CSS 中。
我想要做的是:我的网站有两种不同的导航,一种用于移动版,另一种用于桌面版。在 Liquid 中,导航被加载到标题中,如下所示:
{% include 'navigation' %}
所以我希望我能做这样的事情:
{%- if width > 1000 -%}
{% include 'navigation' %}
{%- else -%}
{% include 'navigation-mobile' %}
{%- endif -%}
提前谢谢你们!
解决方案
Liquid 是一个后端框架,这意味着它无法访问文档和窗口对象或任何前端的东西。
简单地说,在它真正知道窗口宽度是多少之前,它会加载液体。(用开发人员的话来说,它在 DOM 准备好之前加载)
或者长话短说,没有办法从液体中访问窗口宽度,所以你在这里打了一场失败的战斗。
考虑使用 Javascript 将类添加到特定导航以显示它。
推荐阅读
- java - 如何从数据库获取数据到arraylist并显示它们
- javascript - 在某个时间 t 或事件触发后解决一个承诺,以先发生者为准
- javascript - net::ERR_EMPTY_RESPONSE 当 API 请求返回响应时
- php - 如何将父类别前缀到子类别php
- javascript - 如何在javascript存储过程雪花中循环日期字符串参数
- python - 无法将滚动条添加到 Python GTK3 中笔记本中存在的 TreeView
- facebook - 使用 facebook 页面在 facebook 群组上发帖
- javascript - 如何在葡萄组件的模型或视图中获取葡萄编辑器实例
- javascript - 如何按月对日期值 dd-mm-yyyy 的选择元素选项进行排序?
- apache-kafka - 如何查找每个主题的保留字节数