私の状況、私が見つけた考えられる解決策を説明し、その後にいくつかの質問をします。
フロントエンドに Monaca Cloud IDE と Onsen を使用して、Cordova クロス プラットフォーム アプリを作成しました。次のように実装された、アプリでスライダーを使用しています。
<input type = "range" .../>
これは、iOS および一部のバージョンの Android では問題なく動作しますが、古いバージョンの Android では問題が発生しています。私が見つけた問題には、javaScript の touchStart、touchEnd、および touchHover イベントが発生しない、サム スライダーが消える、フリーズしたようにスライダーが何もしないなどがあります。私は少し読んだことがありますが、収集できることから、古いバージョンの Android ブラウザーでは javaScript と CSS に問題があります。
可能な解決策:
私は 2 つの可能な解決策を見てきました (どちらも実装しようとはしていません)。そのうちの 1 つは CrossWalk Web ビュー プラグインで、もう 1 つは In-App-Browser プラグインです。In-App-Browser がどのブラウザーを使用するかはわかりませんが、それがシステム ブラウザーでない場合は、考えられる解決策になるはずです。私が Crosswalk で抱えている大きな問題は、少なくとも 4 ~ 5 倍以上のように、それがない場合よりもアプリがはるかに大きくなるという事実です。参考までに、私のアプリは約 4MB しかありません。
一般的な注意点として、私はプラグインよりもライブラリを好みます。少なくとも私にとっては、実装が簡単だからです。
質問:
まず第一に、私が見つけた問題よりも良い解決策はありますか?
ユーザーがそれぞれのアプリ ストアからアプリをインストールするときに、条件付きでプラグイン/ライブラリをインストールする方法はありますか? 4.4 より前のバージョンの Android を実行している Android デバイスにアプリがインストールされている場合に、Crosswalk を使用する可能性を検討している場合 (実際にそれが最終的に実装するソリューションである場合) を検討しているためです。
In-App-Browser はどの Web ブラウザーを使用しますか? システムのデフォルトのもの?
アプリのソース コードにライブラリやプラグインを含めず、CDN を使用してホストする場合、アプリにキャッシュしますか、それともアプリが起動するたびに取得する必要がありますか。
アドバイス、提案、および/または解決策は大歓迎です。
ありがとうございました。