2012-04-08 3 views
0

Я использую этот кусок кода, который работает правильно, чтобы обнаружить IOS устройств при просмотре через браузер Safari:Обнаружение IOS устройств, просматривать рельсам сайт через App (т.е. Twitter.)

def mobile_user_agent? 
@mobile_user_agent ||= (request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"] [/(Mobile\/.+Safari)/]) 
end 

Но он не обнаруживает, что пользователь приходит на сайт через браузер приложения на устройстве. В основном Twitter.

Я считаю, что это UA для пользователя щебета, так как вы приспособить для этого (и других приложений, а?)

"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405" 
+0

Если вы обнаруживаете мобильные устройства для обслуживания различных макетов страниц, вы, вероятно, не захотите: http://farukat.es/journal/2011/02/499-lest-we-forget- или, как-я-уроки-Что-так плохо о-браузера фырканье. – jimw

ответ

1

Что я хотел бы сделать, это изменить регулярное выражение что-то вроде

/(Mobile\/.+Safari)|(AppleWebKit\/.+Mobile)/ 
+0

Вот что мне нужно, спасибо. – svarrall

+4

FYI, это регулярное выражение также соответствует мобильному Chrome на Android, что, вероятно, не то, что вы хотите. – jangosteve

Смежные вопросы