应用程序是否可以根据 webview 中的打开页面执行特定功能?例如检测其中的一些javascript?
问问题
200 次
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 回答