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);


                        }

如何将“导航”参数 local_url 的值传递给 evaluatejavascript 函数?我在网上找了几个教程,但似乎都没有。有任何想法吗?

4

1 回答 1

0

我认为您需要将参数传递给您在 web 视图中打开的 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 回答