[RUBY-ON-RAILS] 브라우저 감지 방법 레일
RUBY-ON-RAILS브라우저 감지 방법 레일
모두 이봐, 난 방법은 레일에 브라우저 감지 할 수있는 업계 표준이 무엇인지 궁금 해서요? 브라우저를 결정하는 데 도움과 (X) HTML의 body 요소에 클래스 나 ID를 적용 할 수있는 보석, 라이브러리 또는 샘플 코드 곳이 있습니까? 덕분에, 난 그냥이 일을 허용하는 방법이 무엇인지 모두가 사용하고 있는지 궁금하네요?
나는 우리가에서는 user.agent을 얻고 해당 문자열을 구문 분석 할 수 있다는 것을 알고,하지만 난하지 않도록 그 즉 브라우저 감지 할 수있는 허용 방법입니다 경우입니다.
또한, 여기 특징 검출을 토론하는 것을 시도하고 있지 않다, I에 유래에서 그 여러 답변을 읽었습니다, 내가 요구하고있어 모든 너희들이 한 일이다.
[최신 정보]
덕분에 GitHub의에 faunzy하는 그래서, 나는 종류의 레일에서 사용자 에이전트 확인에 대한 약간의 이해의했지만, 아직도 확인이 여기 레일 (3)에 대해 이동하지만 가장 좋은 방법이 있다면 그렇게 왔 것입니다 멀리:
def users_browser
user_agent = request.env['HTTP_USER_AGENT'].downcase
@users_browser ||= begin
if user_agent.index('msie') && !user_agent.index('opera') && !user_agent.index('webtv')
'ie'+user_agent[user_agent.index('msie')+5].chr
elsif user_agent.index('gecko/')
'gecko'
elsif user_agent.index('opera')
'opera'
elsif user_agent.index('konqueror')
'konqueror'
elsif user_agent.index('ipod')
'ipod'
elsif user_agent.index('ipad')
'ipad'
elsif user_agent.index('iphone')
'iphone'
elsif user_agent.index('chrome/')
'chrome'
elsif user_agent.index('applewebkit/')
'safari'
elsif user_agent.index('googlebot/')
'googlebot'
elsif user_agent.index('msnbot')
'msnbot'
elsif user_agent.index('yahoo! slurp')
'yahoobot'
#Everything thinks it's mozilla, so this goes last
elsif user_agent.index('mozilla/')
'gecko'
else
'unknown'
end
end
return @users_browser
end
해결법
-
==============================
1.라이브러리 루비 라이브러리가 GitHub의에 이상있다 : https://github.com/gshutler/useragent
라이브러리 루비 라이브러리가 GitHub의에 이상있다 : https://github.com/gshutler/useragent
내가 직접 사용하고는 지금까지 광고 일하고있다. 사용 사례를 들어, 당신은 아마 당신의 레일 프로젝트 또는 이와 유사한에서 도우미 메서드 내에서 라이브러리를 호출 할 수 있습니다.
즉, HTTP_USER_AGENT는 레일 도우미 메서드에 노출되면 나는 완전히 확실하지 않다 고 말했다. 경우가 노출되지 않습니다, 당신은 항상 (AbstractController에 :: 도우미 :: ClassMethods # helper_method를 사용하여) 도우미 등의 제어 방법에 노출 될 수 있습니다.
-
==============================
2.브라우저 보석은 특히 레일의 브라우저 탐지를 위해 설계되었습니다.
브라우저 보석은 특히 레일의 브라우저 탐지를 위해 설계되었습니다.
-
==============================
3.[ 'HTTP_USER_AGENT'],이 클라이언트의 사용자 에이전트를 반환합니다 request.env을보십시오. 휴 버트 Łępicki에 의해 게시 빠른 도우미도 있습니다
[ 'HTTP_USER_AGENT'],이 클라이언트의 사용자 에이전트를 반환합니다 request.env을보십시오. 휴 버트 Łępicki에 의해 게시 빠른 도우미도 있습니다
from https://stackoverflow.com/questions/4707400/rails-browser-detection-methods by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 부트 스트랩 날짜 선택기를 사용하는 동안 어떻게 선택한 날짜 값을 얻으려면? (0) | 2020.02.19 |
---|---|
[RUBY-ON-RAILS] 만들기는 외부 URL에 경로를 레일 (0) | 2020.02.19 |
[RUBY-ON-RAILS] 어떻게 레일에서 시험하기위한 기본 "www.example.com"도메인을 변경하려면 어떻게해야합니까? (0) | 2020.02.19 |
[RUBY-ON-RAILS] has_many와 counter_cache : 통해 (0) | 2020.02.19 |
[RUBY-ON-RAILS] 많은 자기에 많은 참여 레일 (0) | 2020.02.19 |