ページにアクセスした段階で input や textarea にフォーカスをあててソフトウェアキーボードを表示させ、ユーザがすぐにテキストを入力できるようにしたいとする。
<input id="input" type="text" />
<script>
document.querySelector('#input').focus()
</script>
Android の場合は上記で問題ない。
iOS の場合 cordova-plugin-wkwebview-engine プラグインを使用していて iOS 11.3 なら cordova-plugin-wkwebview-inputfocusfix プラグインが必要になり、さらに "KeyboardDisplayRequiresUserAction" を "false" に設定しないとソフトウェアキーボードが表示されない。
config.xml
<platform name="ios">
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
</platform>
これで問題なしと思いきや、iOS 12.2 にアップデートした途端これでは動作しなくなった。
ひとまずプラグインをフォークして修正したので困っている人がいればこちを利用してください。
※本家にはプルリクエスト送信済み。
cordova plugin add https://github.com/amatakasap/cordova-plugin-wkwebview-inputfocusfix