在Sinatra中检测浏览器
答
宝石browser似乎是我确切需要的。它主要用于在Rails和我无法找到西纳特拉完全正确的片段,让我分享我的解决方案:
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
你知道,'browser'解析用户代理吗?我认为这不是一种选择,因为这不适合您的需求? – spickermann
@spickermann,它不是在客户端解析userAgent *的选项* - 当一些html和js已经被加载时。我想在发布内容之前识别浏览器。糟糕,忘记了代码的重要线 - 更新了答案。 – Nakilon