必要があって久々に色々な機種、ブラウザのUA(ユーザーエージェント)を調べてみた。そしたら、iPadのSafariには「iPad」という文字が含まれていなかった。こういうのを、昔の感覚のまま思い込みで作業を進めるとはまるので戒めとしたい。
久々に複数の端末のUAを調べたら、iPadのSafariにはiPadという文字が含まれなかった。システムは常にアップデートされるから定期的に追いかけないといけない。システムに保守費用がかかるのはこういう理由です。https://t.co/uHBnlJh61D
— 早川朋孝 文学部卒のWebエンジニア (@ShiroTruffe) May 21, 2021
ブラウザのバージョンアップは常に進んでいるから、システムにUAの値をべた書きしていると、古いシステムの場合はリリース時の期待動作と挙動が変わる可能性がある。
今回はOSを問わずChromeだけを識別したかったのだが、Google Chromeには「Chrome」という文字が必ず含まれているので処理は簡単だった。
Mac Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15
Mac Chrome
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
iPad Safari
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15
iPad Chrome
Mozilla/5.0 (iPad; CPU OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.163 Mobile/15E148 Safari/604.1
iPad Google
Mozilla/5.0 (iPad; CPU OS 13_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/159.1.372414826 Mobile/15E148 Safari/604.1
iPhone Safari
Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1
iPhone google
Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/159.1.372414826 Mobile/15E148 Safari/604.1
iPhone Chrome
Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.163 Mobile/15E148 Safari/604.1
Android Chrome
Mozilla/5.0 (Linux; Android 9; 901KC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36
Windows Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36