rails5.2で作成したWebアプリがあります。
画面幅によって表示を切り分けたい部分があり、その判定を
CSSによる画面幅で行うか、UserAgentで行うか迷っています。
自分なりに比較してみました。
CSSの場合、以下のように表示、非表示を簡単に切り替えれますが、html上には同じidが残ってしまいます。
※idが被らないように配置すればいいだけですが、事情によりそれは今回できません。
html
1<div id="test" class="mo">モバイル用</div> 2<div id="test" class="pc">PC用</div>
css
1@media screen and (min-width:300px){ 2 body{ 3 color: pink; 4 } 5 .pc{ display: none;} 6 .mo{ display: block;} 7} 8 9@media screen and (min-width:700px){ 10 body{ 11 color: green; 12 } 13 .pc{ display: block;} 14 .mo{ display: none;} 15}
対して、UserAgentで判定すれば
html出力を制御できるので同一id問題はなくります。
ruby
1<% if @agent == "mobile" %> 2 <div id="test" class="mo">モバイル用</div> 3<% else %> 4 <div id="test" class="pc">PC用</div> 5<% end %> 6
また、将来スマフォアプリ版をリリースした際は、モバイルからWebページにアクセスしたら
スマフォアプリ版のインストールを促すメッセージを表示できるように思いました。
実装が大変な部分もrailsなのでgemがありました。
こうなると、UserAgentの方が良いのかなぁという気がしてます。。。
が、初心者なので他にも気づいてない点、考慮すべき点がありそうで質問させていただきました。
皆さんならどう使い分けされますか?
先輩方アドバイスいただけないでしょうか?
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー