@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

iPad Safariのユーザーエージェント文字列はiPadではないし、なんならIntel入ってるまである

iwb.jp

↑の通りです。

/iPad/.test(navigator.userAgent) || /iPhone/.test(navigator.userAgent)

2週間程前に、こういう条件式を書いて、iPadGoogle Chromeでちゃんと判別できることを確認して安心していました。 今日試しに、Safariで開いてみたら、iPadとして判別されていませんでした。 不思議だなあ?と思ってユーザーエージェント文字列を取得してみました。

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15

全然嘘なんですよ・・・・。 「そんなわけある?」と思いますよね? 「Intel Macと接続してるとユーザーエージェント文字列変わるの?」とUSBケーブルを抜いたり、iPadを再起動してみたりしました。 本当にこういう文字列みたいです。 IntelっておまえIntelのCPU入ってねえじゃん・・・。

検索して前述のページを見つけました。 「ユーザーエージェント文字列にMacintoshが含まれている」かつ「タッチ機能がある」で判別すればよいことがわかりました。 なるほどmacOSが載っている端末でタッチ機能があるものはないですね、賢い♪