【问题标题】:How to detect the browser with hugo如何使用hugo检测浏览器
【发布时间】:2020-10-29 03:34:41
【问题描述】:

我正在寻找一种解决方案来根据浏览器类型显示不同类型的图像。如果浏览器是 safari,我想显示 png 文件,如果浏览器不是 safari,我想显示 webp 文件。

我认为这个线程已经提供了正确的 js 代码:How to detect Safari, Chrome, IE, Firefox and Opera browser?

// Safari 3.0+ "[object HTMLElementConstructor]" 
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));

如何在 hugo if 语句中调用结果?

有点像这样:

{{ $safari := isSafari }}
{{ if eq safari true }}
  <img src="{{ "img/bannerphone.png" | absURL }}" alt="phone">
{{ else }}
  <img src="{{ "img/bannerphone.webp" | absURL }}" alt="phone">
{{ end }}

感谢和问候

【问题讨论】:

标签: javascript html hugo


【解决方案1】:

JS 仅在网站加载到浏览器后执行。雨果被提前处决。在构建过程中没有办法实现这一点。您必须在前端处理 img src 切换,或者更好地使用像 cloudinary 这样的 img cdn ...

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 2017-02-09
    • 2011-09-08
    • 1970-01-01
    • 2011-10-13
    • 2011-03-10
    • 2013-10-21
    • 2013-12-04
    • 2011-01-14
    相关资源
    最近更新 更多