我需要知道(在 .rb/.haml 级别)设备是否是移动设备或浏览器是否不受支持。我不想(或者它不能很好地满足我的需要)在客户端解析 userAgent。
最佳答案
gem browser似乎正是我所需要的。它主要用于 Rails,我找不到完全正确的 Sinatra 片段,所以我分享我的解决方案:
require "browser"
...
get "/"
browser = Browser.new request.user_agent, accept_language: request.env["HTTP_ACCEPT_LANGUAGE"]
break haml(:mobile, locals: { reason: "you are mobile" }) if browser.device.mobile?
break haml(:mobile, locals: { reason: "you are not chrome" }) if not browser.chrome?
...
haml :index
end
关于ruby - 在 Sinatra 中检测浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43525921/