0

私は次のJavaScriptを持っています:

public String jscode() {
String myString = "javascript:function myscript() {" +
"     var _$b = window._$b= { version: \"1.0\"};" +
"     _$b.navigate = function(url, title) {" +
                "     rpc.exec(" +// JSON-RPC 2.0
                "              {method: \"navigate\", " +
                "      params: {" +
                "              \"url\": url," +
                "              \"title\": title" +
                "              }});" +
                "       local_url = url;" +

                "      };" +
                "};"


    return myString;

}

今、私は次のようにwebview onpagefinishedでそれを使用しています:

String newString = jscode();
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                            view.evaluateJavascript(newString, null);
                            view.evaluateJavascript("myscript();", null);


                        }

"navigate" パラメータ local_url の値を evaluatejavascript 関数に渡すにはどうすればよいですか? いくつかのチュートリアルをオンラインで探しましたが、どれも機能していないようです。何か案は?

4

1 に答える 1

0

WebView で開いている URL に引数を渡す必要があると思います。その場合は、Uri.Builderclass を使用して、webview に渡す URL にパラメーターを追加してみてください。

Uri.Builder builder = new Uri.Builder() .appendQueryParameter("param1", value1) .appendQueryParameter("param2", value2); final String params = builder.build().getEncodedQuery(); web_view.loadUrl("your url" + params);

それが役に立てば幸い!

于 2016-05-17T14:43:25.773 に答える