3

私はWebViewネイティブ アプリケーションで多くの JavaScript を使用しています。JS 側でネイティブ関数を呼び出したい場合は、 を使用するとかなりスムーズJavaScriptInterfaceです。ただし、ネイティブで JS 関数を呼び出したい場合は、それほど簡単ではありません。これまでに2つのソリューションを試しました:

  • loadUrlURL を使用してメソッドを呼び出すjavascript:something()- ユーザーがキーボードで何かを入力するWebViewと、関数の実行後にそれが非表示になるため、受け入れられません
  • x秒ごとに(Stringオブジェクトによって提示される)関数をネイティブ側に要求eval()し、結果を呼び出します-時々、間隔を1秒に設定した後、50〜60秒後にそれらの要求を取得していました!

このコミュニケーション モデルを達成する他の方法があるかどうか疑問に思っています。アプリ内にローカルSocket/ HTTP/something-else サーバーを作成し、それにアクセスできるようにしWebViewます。(可能であれば)それを行う方法のヒントを探しています。

4

2 に答える 2

1

別の通信モデルを機能させる方法はわかりませんが、loadUrl-hides-the-keyboard の問題の回避策を見つけたと思います: https://stackoverflow.com/a/18776064/513038。それは何か役に立ちますか?

于 2013-09-19T02:57:12.853 に答える