0

应用程序是否可以根据 webview 中的打开页面执行特定功能?例如检测其中的一些javascript?

4

1 回答 1

1

Android 文档的这一部分可能会有所帮助:http: //developer.android.com/guide/webapps/webview.html#UsingJavaScript

您可以使用 loadUrl() 在 WebView 上调用 javascript。例如:

webView.loadUrl("javascript: someJavascriptMethod(true, 1, 8, 'some string');");

该页面还可以使用 Javascript 接口将数据传回 Java 代码。使用公共方法创建一个公共类。然后,创建该类的实例并使用webView.addJavascriptInterface()安装它

例如

 public class JsObject {
    @JavascriptInterface
    public String toString(String value) { // This method can be called from Javascript }
 }
 webView.addJavascriptInterface(new JsObject(), "injectedObject");
 webView.loadData("", "text/html", null);
 webView.loadUrl("javascript:alert(injectedObject.aJavaMethod('some value'))");

如果您需要查看某个 javascript 方法是否可用,或者如果您需要从 DOM 中读取,您可以使用 loadUrl 调用一些可以为您执行这些查找的 javascript。然后,您可以使用 javascript 接口调用具有某种响应的 Java 方法。

于 2013-02-04T00:29:12.143 回答