0

Safari ブラウザーでブラウジングするときに iOS デバイスを検出するために正しく機能する次のコードを使用しています。

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"
4

1 に答える 1

1

私がすることは、正規表現を次のようなものに変更することです

/(Mobile\/.+Safari)|(AppleWebKit\/.+Mobile)/
于 2012-04-08T17:10:00.073 に答える