当我的网站启动时,我有一个简单的 js 脚本,可以检测是否在高分辨率设备上查看了该网站,然后将值保存到 cookie。
{% if app.request.cookies.has('d_p_r') %}
{% set retina = app.request.cookies.get('d_p_r') %}
{% else %}
{% set retina = false %}
<script> ... </script>
{% endif %}
我检查了我的视网膜值是否已设置为在我的网站某处输出 {{retina}},它在我的计算机上返回“假”,在我的 iPad 上返回“真”。到现在为止还挺好。
问题是当我尝试访问布尔值时。
{% if retina == true %}
<img alt="{{ alt }}" src="{{ ('img/' ~ img)|imagine_filter(filter) }}">
{% else %}
{% if big is defined %}
<img alt="{{ alt }}" src="{{ asset('img/' ~ img) }}">
{% else %}
<img alt="{{ alt }}" src="{{ ('img/' ~ img)|imagine_filter(filter ~ '@2x') }}">
{% endif %}
{% endif %}
{% ifretina == true %} 无法正常工作。如果我将其更改为 == false,我会在各处生成视网膜图片。就好像它总是返回 true,尽管 {{retina }} 的值返回 false。
我不知道我在这里做错了什么。我试着只做 {% ifretina %} 但这没有帮助。我还清除了所有尝试修复此问题的缓存。