2

我知道你可以定义用于 webviews 的 javascript 接口。你能走另一条路,在你的 webviews 上调用 android 中的 javascript 函数吗?

例如

        WebView myWebView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        myWebView.addJavascriptInterface(new WebAppInterface(this),
                "Android");
        myWebView.loadUrl("http://www.mytest.com/whatever.php?");

        String formValue = myWebView.fireJavascriptFunction("getFormInput");

我的 html 页面将具有以下 javascript 函数

function getFormInput(){
    return $("#myInput").val();
}

想法是从本机按钮的本机 onclick 处理程序触发 getFormInput() 函数。

4

2 回答 2

0

一个简单的谷歌搜索“android webview call javascript function”会给你很多例子。这是一个。但是,您不能从此调用返回值。如果你需要一个返回值,那么你可以在你的 JavaScript 接口对象中实现一个回调方法。

于 2013-04-19T17:09:41.000 回答
0

您可以简单地调用myWebView.loadUrl("javascript:getFormInput()");以运行该功能。

然而,从在 webview 中运行的 javascript 函数获取结果并在 java 代码中使用它比这复杂得多。从 WebView 获取信息非常复杂。您可以在这篇文章中获得更多信息:

如何从 WebView 获取网页内容?

于 2013-04-19T17:14:49.310 回答