0
如果設備是移動設備或者瀏覽器不受支持,我需要知道(在.rb/.haml級別)。我不希望(或者它不會適合我的需要)在客戶端解析userAgent。在Sinatra中檢測瀏覽器
如果設備是移動設備或者瀏覽器不受支持,我需要知道(在.rb/.haml級別)。我不希望(或者它不會適合我的需要)在客戶端解析userAgent。在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