質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2302閲覧

[javascript/jquery]ウェブサイトをどのipadの機種(〇世代、air/proなど)で見ているか判定する方法はあるのでしょうか?

stnstn

総合スコア1

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2022/03/28 09:45

編集2022/03/29 12:35

私のサイトはipad(safari)の様々な機種で閲覧することを想定していますが、タイトルのように、今どの機種のipadでウェブサイトを閲覧しているか判定する必要に迫られています。ipad airなのか、proなのか、それは何世代なのか?
javascriptかjqueryどちらかで調べたいと考えています。

使用機種のOSはすべてipadOS 13~15のいずれかが想定されますが、
userAgentを取得しても決定的な情報は得られないように思います。
何か良い方法は無いでしょうか?

※追記
stackoverflowにも同一の質問を投稿しています(解決済としました)。
早く解決したい気持ちが盛ってしまいました。
https://ja.stackoverflow.com/q/88071/51253

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2022/03/28 09:48

何のために判定したいのでしょうか?
stnstn

2022/03/28 10:22

特定の機種で発生する表示崩れ問題があり、 この機種のみに対してCSSのプロパティ変更を施して問題を解決をしたいためです。
hoshi-takanori

2022/03/28 10:34 編集

それは特定の解像度で起こるとかではなく、機種固有 (同じ解像度でも他の機種なら起こらない) のでしょうか? 差し支えなければその機種名を教えてください。 (というか、Apple にバグレポートを上げた方が良いのでは…。)
stnstn

2022/03/28 10:41

機種固有と考えています。 ipad air 第4世代のみで発生します(画面サイズは10.9インチの1種類のみのようですね)。
stnstn

2022/03/28 11:46

助言いただきありがとうございます。 しかし、今自分が抱える問題は正直もっとハードウェアに依存している気がしていて、 それを無理やり、根本的な解決をせずにCSSで相殺していく作戦でいるので、 仰るように画面サイズを考慮してPC上でテストする方法はあまり有効でないように思います。 せっかく質問してくださったのにごめんなさい。
guest

回答2

0

下記記事が参考になるでしょう。
User-Agent Client Hints(UA-CH)を取得する - Qiita

それまで、UserAgentを使用し、OSを確認する、という手段が主だったものでしたが、
Googleがユーザーエージェント(UA)文字列を凍結・非推奨するということが決定しており、
(当初の予定では、2020年には実施予定だったが、コロナの影響により、延期されている)
ほとんど、OS判別などに使用できるものではなくなる可能性が非常に高いものとなっています。
そこで、代替ないし、それ以上の仕様として、
User-Agent Client Hintsとなるものが登場しました。
Client Hintsは、従来のUser-Agent以上に、OSのバージョンや、端末情報文字列まで詳細に取得できるものとなっているので、
質問者さんの質問要件を満たせるものかと思われます。

ただし、現段階対応しているブラウザはごく少数なため、まだ、
実用に足るものとはいえないでしょう。

投稿2022/03/28 10:03

編集2022/03/28 10:06
miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stnstn

2022/03/28 10:36

回答いただきありがとうございます。 確かに navigator.userAgentData; で機種情報が取れるのなら、私の実現したいことが可能になりますね。 しかし私のiPad pro(第2世代、iOS15.2.1)で試したところ、やはりnavigatorはuserAgentDataを持っておらず、 仰る通り今のところは難しいようです。
guest

0

ベストアンサー

https://yourdevice.tanokatu.com/
手元のiPhoneで試してみましたが、所得されてました。

10.9インチ

この4世代でのみ発生するのであれば、そのiPadが使うブラウザのウィンドウサイズを調べておき、そのサイズに対してのみ メディアクエリでCSSを切り替えるということもできないかなと、最初思いました。 他の第3世代とかのiPadの表示も巻き込んでしまうことになりそうですけどね。

投稿2022/03/28 13:52

penguin520

総合スコア345

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stnstn

2022/03/29 12:25

回答いただきありがとうございます。 今回はたまたまipad air 第4世代ひとつの機種を判別できれば良かったので、 仰るような画面ディスプレイのサイズを取得して判別する方法で行こうと思います。 ただ、ipad air第5世代も同じサイズ(10.9インチ)のようなので、 今回の私の場合は妥協して考えないことにしてますが、最善の方法ではないようですね… 回答くださった皆様、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問