由于我想对 PC 端和移动端展示不同的广告,需要判断网页请求是否来自移动端。
Golang Gin 中并没有找到内置的实现,我决定参考 wordpress PHP 代码中的实现,用 golang 实现一下。
对应的 Golang 实现
func IsMobile(userAgent string) bool {
if len(userAgent) == 0 {
return false
}
isMobile := false
mobileKeywords := []string{"Mobile", "Android", "Silk/", "Kindle",
"BlackBerry", "Opera Mini", "Opera Mobi"}
for i := 0; i < len(mobileKeywords); i++ {
if strings.Contains(userAgent, mobileKeywords[i]) {
isMobile = true
break
}
}
return isMobile
}
func Index(c *gin.Context) {
isMobile := utils.IsMobile(c.GetHeader("User-Agent"))
// do something ...
}
Golang Template 中进行条件展示
{{ if .isMobile }}
Mobile
{{ else }}
PC
{{ end }}
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式