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

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

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

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

Q&A

解決済

5回答

4745閲覧

デバイス判定はUserAgentだけでは足りないですか?

kadot

総合スコア27

JavaScript

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

0グッド

3クリップ

投稿2021/06/18 13:41

編集2021/06/19 03:34

JavaScriptの処理をスマホ・タブレットの時のみ行うための判定についてです。

スマホ・タブレットをできる限り漏れなく判定するためには、UserAgentだけでは足りないでしょうか?

UserAgentと画面幅(おそらくmatchMediaのこと)での判定を組み合わせたほうがいいと聞いたのですが、これはどんなケースが考えられるか知りたいです。

userAgentではPC判定なのに実はタブレット端末ということがあったりするのでしょうか?

【追記依頼への回答】
どのような理由があって「スマホ・タブレットの時のみ」行いたいのでしょうか?

ページ内のaタグの付いてない電話番号テキスト部分にaタグを付ける処理をJavaScriptでしたいのですが、PCユーザーには必要ないためスマホ・タブレットの時のみ行いたいです。なので、目的としては「デバイスに合わせて」ということになります。そこに画面幅での判定も組み合わせるとどんなメリットがありそうでしょうか?

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

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

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

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

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

m.ts10806

2021/06/18 21:37

自身で何か試されたのでしょうか。
maisumakun

2021/06/19 00:18

どのような理由があって「スマホ・タブレットの時のみ」行いたいのでしょうか? (たとえば、「画面幅に合わせて」であれば画面幅を基準にすればいいだけで、端末種類の判定は不要となります)
kadot

2021/06/19 03:19

>m.ts10806さん 何を試したらよいかわからないという理由もあり質問しています。UserAgentは今まで使ってきてそれで十分だと思っていましたが、そうではないという話を聞いてそれはどんなケースなんだろうというのがわからないのです。 >maisumakunさん 追記しました。ご確認よろしくお願いいたします。
m.ts10806

2021/06/19 03:28

なるほど。了解です。 個人的には下記はどこで聞いたのか気にはなっています。 >UserAgentと画面幅(おそらくmatchMediaのこと)での判定を組み合わせたほうがいい 既に回答にある通り確かにUser-Agentは廃止される傾向にあったり、 対応に追われるところもあるでしょうけど、「じゃあどういう対応が望ましいか」はアプリケーションの要件によって微細なところでも変わってくるので、 maisumakunさんのような疑問がでてきていますね。
m.ts10806

2021/06/19 03:31

なので「電話番号関連の処理」をもっと具体的に書かれたほうが、よりやりたいことや試すべきことに近づいたアドバイスが得られると思います。
kadot

2021/06/19 03:38

>m.ts10806さん どこで聞いたかなどの詳細は伏せさせてくださいすみません。 アドバイスありがとうございます。 具体的に書き直しましたので、ご確認お願いいたします。
guest

回答5

0

User-Agent は廃止される方向でもあるようです。
https://qiita.com/paddy-oti/items/fae9ecca9facc9797035

投稿2021/06/18 14:51

yh1224

総合スコア653

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

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

kadot

2021/06/19 03:32

廃止される方向であることは承知していました。 UseAgentで判定を行ってきたので、いったんUseAgentを使おうと思っていますが、使うべきかは勉強していきたいと思います。 ありがとうございます。
guest

0

ベストアンサー

行う処理の内容にもよるように思いますが、UserAgentのみで対応するとなると、OSのバージョンアップなどに迅速に対応しなければならなくなってしまうような印象です。
(バージョン変更でUserAgentの内容が変わってしまうことはよくあります。iPadに至ってはOSの種類が変わりましたし)

画面幅による判定を組み合わせることで、UserAgentによる判定処理を急いで変更しなくとも「ある程度」妥当な表示は確保できるように思いますね。

他の方の回答にもある通り、「本当にUserAgentを使うべきどうか」ということも問題になりそうですが。
それ自体があまり推奨されていないことではありますので。(MDN - ユーザーエージェント文字列を用いたブラウザーの判定

【追記】
質問内容に追記された内容を読みました。「電話番号関連の処理」とのことですが、「電話番号にリンクを張る」処理のことでしょうか??
それでしたら、こちらの記事を参考に、画面幅のみで対応可能なように思います。(IE10以下は今の時代さすがに無視できるでしょう)

投稿2021/06/18 14:35

編集2021/06/19 03:23
hallen0225

総合スコア587

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

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

kadot

2021/06/19 03:30

たしかにそれはありそうです! 今iPadの判定が効いていても時代が変わると効かなくなってiPadで見るとPCの処理がされてしまう可能性があるということですね。そこにタブレットの画面幅での判定も組み合わせてあれば(新しく出てくるiPadの画面幅にもよりますが)、PCの処理はされませんね。 ありがとうございます。 UseAgentを使うべきかも考えていきたいと思います。
kadot

2021/06/19 03:44

追記部分、今見ましたすいません。 処理内容としてはその通りです。 読んでみます。ありがとうございます!
guest

0

UserAgentなんか見るなと遥か昔から言われてる。
いくら言っても分からない人だらけだったのでいよいよUserAgentを固定化して意味のない情報になる予定。
判定には使えない。

投稿2021/06/18 14:24

kawax

総合スコア10377

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

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

kadot

2021/06/19 03:31

UseAgent判定についてはまだ知らないことが結構あるので勉強していきたいと思います。 ありがとうございます。
guest

0

勉強が目的ならUAに限らず、対象を広げた方が面白いと思います。
ブラウザフィンガープリントで調べると、端末を判定する方法が色々あることがわかります。
そして、それらが不同意によるプライバシーの収集に繋がることが近年懸念されていることもわかります。
https://xtrend.nikkei.com/atcl/contents/technology/00005/00013/

投稿2021/06/21 23:10

Oshiete-kun

総合スコア51

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

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

kadot

2021/06/26 09:19

返事が遅れてしまい申し訳ありません。 UAと画面幅くらいしかデバイス判定方法は知りませんでしたので、この機会に他の方法も知りたいです。 「ブラウザフィンガープリント」のこと調べてみます。 ありがとうございます。
guest

0

ページ内のaタグの付いてない電話番号テキスト部分にaタグを付ける処理をJavaScriptでしたいのですが、PCユーザーには必要ないため

そうとも限りません。Skypeなど、電話番号リンクをハンドリングできるアプリがパソコン環境に存在する場合もありえます。

投稿2021/06/19 03:36

maisumakun

総合スコア145183

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

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

kadot

2021/06/19 03:41

なるほど…!Skypeもaタグからかけられるんですね。教えていただきありがとうございます。 もし、PCから電話をかけることはあまりないから迷わせるのを防ぐためにもPCでは処理させないようにしようという意図がある場合はどうなりますか?
maisumakun

2021/06/19 03:44

画面幅でチェックすれば必要十分かと思います。「迷わせるのを防ぐ」程度であれば、厳密に「PCかどうか」チェックする必要もないでしょう。
kadot

2021/06/19 03:48

たしかに厳密さはそこまで必要なさそうです。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問