前提・実現したいこと
Android OS5.0以上を対象としたアプリをWebviewで作っているのですが、OS5.0と、OS5.1以上のエミュレータ上で動作の違いがあり、原因の特定すらできず困っているので、こちらに質問させていただきます。
2つほど質問したい内容があります。
・1点目
selectタグのoptionが1つしかないとき、optionにdisabledとdisplay:none;を指定し、先頭を選択できないようにしているのですが、OS5.0のエミュレータでは選択できる状態になってしまいます。(リストのポップアップ?が表示される。)
OS5.1以上のエミュレータ(Webview)ではこのような現象が発生せず、原因がわからず行き詰りました。
OSの問題なのか、Webviewの問題なのか、どこに問題があるのかも切り分けができず困っています。
ここでは、OS5.1以上のエミュレータに合わせて、OS5.0のエミュレータでも選択できないようにさせたいです。
HTML
1<label for="sample" class="select"> 2 <select name="sample" id="sample"> 3 <option value="" disabled selected style="display: none;">プレースホルダー</option> 4 </select> 5</label>
・2点目
selectタグにoptionが2つ以上あるとき、1行目のoptionを選択項目から非表示とさせたいが、OS5.0のエミュレータでは選択項目として残ってしまう。(1行目のoptionにはdisplay:none;を指定しています。)
OS5.1以上のエミュレータでは、セレクトボックスを選択してもリスト選択ポップアップが表示されることはありません。
ここでは、OS5.1以上のエミュレータに合わせて、OS5.0のエミュレータでも先頭行をリストに表示させないようにしたいです。
※先頭行に残している理由は、プレースホルダーみたいな役割を持たせるために残しています。
HTML
1<label for="sample" class="select"> 2 <select name="sample" id="sample"> 3 <option value="" style="display: none;">プレースホルダー</option> 4 <option value="data1">データ1</option> 5 <option value="data2">データ2</option> 6 </select> 7</label>
補足情報(selectタグ(リスト)の仕様)
- optionが1つ(プレースホルダーのみ)の場合は選択不可(非活性)
- optionが2つ以上(プレースホルダー+選択用のデータ)の場合は、選択可能としてリストからプレースホルダー以外を選択できるようにする。(プレースホルダーのoptionはリストからは非表示)
上記を実現しようと考えて実装した結果、本現象が発生してしまいました。
補足情報(FW/ツールのバージョンなど)
■開発環境
Android Studio 3.0.1
■エミュレータ
Nexus5を使い以下で確認
Lollipop API21 x86, API22 x86
Marshmallow API23 x86
Nougat API24 x86, API25 x86
実機は5.1以上は持っており、5.0は持っていません。
5.1以上の実機は期待通りの動作をしています。
以下のサイトからchromeのhtmlやcssの対応状況を調べてみましたが、そもそも何が原因かわかっていないため、原因を特定するまでには至りませんでした。
https://www.chromestatus.com/features
https://caniuse.com/
https://bestvpn.org/whats-my-ip/
回答1件
あなたの回答
tips
プレビュー