0
기기가 모바일이거나 브라우저가 지원되지 않는 경우 (.rb/.haml 수준에서) 알아야합니다. 나는 클라이언트 측에서 userAgent를 파싱하기를 원하지 않는다.Sinatra에서 브라우저 검색
기기가 모바일이거나 브라우저가 지원되지 않는 경우 (.rb/.haml 수준에서) 알아야합니다. 나는 클라이언트 측에서 userAgent를 파싱하기를 원하지 않는다.Sinatra에서 브라우저 검색
보석 browser 정확히 내가 필요한 것 같습니다. 주로 레일즈에서 사용되며 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
'브라우저'도 사용자 에이전트를 구문 분석합니까? 그게 옵션이 아니라고 생각했는데, 그건 당신의 필요에 잘 맞지 않을 것이기 때문입니다. – spickermann
@spickermann, 일부 HTML 및 js를 이미로드해야하는 경우 클라이언트 측 *에서 userAgent *를 구문 분석하는 옵션이 아닙니다. 콘텐츠를 제공하기 전에 브라우저를 인식하고 싶었습니다. 죄송합니다. 코드를 잊어 버렸습니다. 답변을 업데이트했습니다. – Nakilon