LoginSignup
14
9

More than 5 years have passed since last update.

主要SNSアプリ内ブラウザのuserAgent比較

Last updated at Posted at 2018-10-20

モチベーション

iOS、Line内のブラウザとデフォルトブラウザのSafariで挙動が違う処理があるので、その判別をする必要があった。

実験方法

navigator.userAgent.toLowerCase()

の出力結果の比較

(今の所の)結論

TwitterブラウザとSafariの区別がつかない

結果

Safari

mozilla/5.0 (iphone; cpu iphone os 12_0 like mac os x) applewebkit/605.1.15 (khtml, like gecko) version/12.0 mobile/15e148 safari/604.1

Line

mozilla/5.0 (iphone; cpu iphone os 12_0 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/16a366 safari line/8.14.5

Facebook

Mozilla/5.0 (iphone; cpu iphone os 12_0 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/16a366 [fban/fbios;fbav/192.0.0.61.85;fbbv/126707849;fbdv/iphone10,3;fbmd/iphone;fbsn/ios;fbsv/12.0;fbss/3;fbcr/&#12489-&#12467-&#12514-;fbid/phone;fblc/en_us;fbop/5;fbrv/127817253]

Twitter(Safariと変わらない)

mozilla/5.0 (iphone; cpu iphone os 12_0 like mac os x) applewebkit/605.1.15 (khtml, like gecko) version/12.0 mobile/15e148 safari/604.1

おまけ

アプリ、OS、デバイス環境を判別する正規表現

      var ua = navigator.userAgent.toLowerCase();
      var isIOS = /ip(hone|od|ad)/.test(ua);
      var isAndroid = /android/.test(ua);
      var isMobile = isIOS || isAndroid;

      var isLine = /line/.test(ua);
      var isFacebook = /fb/.test(ua);
      var isSafari = /safari/.test(ua);
      var isChrome = /chrome/.test(ua);
      var isOpera = /opera/.test(ua);
14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9