質問: ### 前提・実現したいこと UserAgent文字列に関して質問です。 JavaScriptでUAを取得し、処理をわけたいのですが、 iOS Opera MiniのみUserAgentがうまく取得できません。 (iOSの他アプリやAndroidのOperaでは期待通りに取得できます) 自分のローカル開発環境(Vagrant+VB+Webrick)では取得できるのですが、 ステージング(Apache+Passenger)に適用すると取得できなくなります。 (同じ端末・ブラウザからアクセス) サーバーによってnavigator.userAgentが書き換えられるということがあるのでしょうか? *アプリはRailsですが、処理は純粋なJavaScriptです。 ### 該当のソースコード ``` ``` *window.navigator.appVersionでも同様の結果となりました。 ローカル開発環境で表示されるUserAgent Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) OPiOS/16.0.6.120991 Mobile/13G35 Safari/9537.53 ステージングで表示されるUserAgent Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G35
回答: Opera Miniの場合、ローカルサーバとリモートサーバで**接続方法が違います**。 普通のサーバに接続する場合、Opera社内のサーバを経由して圧縮・変換している一方、ローカルの場合そんな芸当はできないので直接処理しています。