最近出てきた「User Agent Client Hints」による判定。今のところChromeとEdgeのみ
- Chromeは、ua-client-hintsで判定する方向で計画中と発表あり
- ユーザーエージェント(UA)文字列は時代遅れ? 窓の杜2020/1/20
- User-Agent Client Hints(UA-CH)を取得する 2020/5/4更新
- User Agent Client Hintsに関する調査 2020/3/12更新
- ChromeでUserAgentが凍結される日(User Agent Client Hintsの使い方) 2020/2/19更新
現在「試験運用版の機能」なので、Chromeのデフォルト設定を変更します。
・最初に「chrome://flags/」から、「Experimental Web Platform features」を有効にします。
・Chrome79以降だと使え、81ではまだ試験有運用中。85ぐらいから本格運用開始の予定。
・まだ、試験運用中の仕様なので、文法や取れる情報が変わっていく可能性もあるので注意。
↓↓有効ならここに表が表示されます。
競合ブラウザの対応見込み(2020/2/6現在)
ブラウザ | 対応方針 |
---|---|
Edge | 公式サポートの見込み |
Firefox | UserAgent文字列の凍結は公式サポート。ただしUser-Agent Client Hintsは実装せずNavigatorUADataインターフェースを介したJS API呼び出しにのみ対応する方針 |
Safari | Safariはすでに部分的にUserAgent文字列を凍結している。かつてはUserAgent文字列を完全に凍結しようとしたが、様々な問題が発生して完遂には至らなかった模様。User-Agent Client Hintsへの対応方針は不明 |
従来の「navigator.userAgent」による判定。
「ua-parser.js」でOS、ブラウザ情報取得
「platform.js」でOS、ブラウザ情報取得
ライブラリ使わず ブラウザ情報取得(stackoverflow.comより引用)
他、ブラウザのから取れる情報(navigator等)
参考サイト
UserAgent判定JSライブラリ「UAParser.js」と「Platform.js」の比較