2012-04-08 12 views
0

私はSafariブラウザをブラウズする際のiOSデバイスを検出するために、正常に動作しているコードのこの部分を使用しています(つまり、Twitterの。):検出iOSデバイス

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

しかし、デバイス上のAppのブラウザからサイトにアクセスするユーザーは検出されません。主にTwitter。

私は、これは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-どのようにi-learn-what-so-so-bad-about-browser-sniffingを使用していますか? – jimw

答えて

1

私がどうなるのか

のようなものに正規表現を変更です
/(Mobile\/.+Safari)|(AppleWebKit\/.+Mobile)/ 
+0

それは私が必要なものです、ありがとう。 – svarrall

+4

参考までに、この正規表現はAndroidのモバイルChromeにも対応していますが、これはおそらくあなたが望むものではありません。 – jangosteve

関連する問題