Android WebView 支持以下 JavaScript 接口:
addJavascriptInterface(Object object, String name)
: 此方法允许将一个 Java 对象映射到 WebView 的 JavaScript 环境中。这样,你就可以在 JavaScript 代码中通过指定的名称(name 参数)访问 Java 对象及其方法。需要注意的是,为了安全起见,从 Android 4.2(API 级别 17)开始,只有被 @JavascriptInterface
注解的方法才能被 JavaScript 调用。
evaluateJavascript(String script, ValueCallback<String> resultCallback)
: 此方法允许你在 WebView 的 JavaScript 上下文中执行一段 JavaScript 代码。第一个参数是要执行的 JavaScript 代码字符串,第二个参数是一个回调函数,当 JavaScript 代码执行完成后,它会被调用并返回执行结果。
loadUrl(String url)
: 此方法用于加载一个网页,可以是一个 URL,也可以是包含 HTML 代码的字符串。如果你需要在 WebView 中执行 JavaScript 代码,可以使用这个方法加载一个包含 JavaScript 代码的 HTML 字符串。
postUrl(String url, byte[] postData)
: 此方法类似于 loadUrl()
,但它允许你发送 POST 请求。第一个参数是目标 URL,第二个参数是 POST 请求的数据。
reload()
: 此方法用于重新加载当前 WebView 中显示的网页。
stopLoading()
: 此方法用于停止当前 WebView 的加载过程。
goBack()
: 此方法用于导航到 WebView 的历史记录中的上一个页面。
goForward()
: 此方法用于导航到 WebView 的历史记录中的下一个页面。
canGoBack()
: 此方法用于检查 WebView 是否可以导航到历史记录中的上一个页面。
canGoForward()
: 此方法用于检查 WebView 是否可以导航到历史记录中的下一个页面。
clearCache(boolean includeDiskFiles)
: 此方法用于清除 WebView 的缓存。如果参数 includeDiskFiles
设置为 true
,则同时清除磁盘上的缓存文件;如果设置为 false
,则仅清除内存中的缓存。
clearHistory()
: 此方法用于清除 WebView 的历史记录。
getSettings()
: 此方法返回一个 WebSettings
对象,用于配置 WebView 的各种设置,例如启用或禁用 JavaScript、设置缩放级别等。
setWebViewClient(WebViewClient client)
: 此方法用于设置一个 WebViewClient
对象,用于处理 WebView 中的各种事件,例如页面加载完成、页面加载错误等。
setWebChromeClient(WebChromeClient client)
: 此方法用于设置一个 WebChromeClient
对象,用于处理 WebView 中与 Chrome 相关的事件,例如显示或隐藏进度条、处理 JavaScript 对话框等。
这些接口提供了丰富的功能,可以满足大多数 WebView 应用的需求。你可以根据自己的需求选择合适的接口来实现所需的功能。