↑の通りです。
/iPad/.test(navigator.userAgent) || /iPhone/.test(navigator.userAgent)
2週間程前に、こういう条件式を書いて、iPadのGoogle 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が載っている端末でタッチ機能があるものはないですね、賢い♪