android - 我们可以在android中自定义WebView吗
问题描述
我们可以在 WebView android 中自定义加载的网站吗?我需要自定义加载在 WebView 中的网站。我需要在加载的网站中添加新功能
解决方案
您可以注入 javaScript(例如可以自定义 html)。为此,您应该在 webview 中启用 js:
webview.getSettings().setJavaScriptEnabled(true);
然后您可以使用字符串调用loadUrl (),该字符串是带有前缀的 javaScript 代码,javascript:
例如:
fun runJS(webView: WebView) {
webView.loadUrl("javascript:alert('hello')");
}
要在某些页面完全加载时运行 js,onPageFinished
请使用WebViewClient:
val webViewClient = object : WebViewClient() {
override fun onPageFinished(webView: WebView, url: String) {
runJS(webView)
}
}
webView.webViewClient = webViewClient
您可以使用addJavascriptInterface从您的 js 代码调用您的 java 代码。
请点击下一个链接以获取更多示例:
https://medium.com/@skywall/inject-js-into-androids-webview-8845fb5902b7
推荐阅读
- spring - 如何避免 MultipleBagFetchException
- angular - 从 ADAL JS 迁移到 MSAL JS 时面临的问题
- c++ - 如何使用 dart:ffi 将 Uint8List 转换为 C 等效数据类型
- prism - UnoPlatform - 应用程序调用了为不同线程编组的接口
- javascript - 在下拉菜单中停止页面滚动的最佳方法是什么
- python - 证书验证失败:证书已过期 (_ssl.c:1108)
- python - 如何运行位于 AWS EC2 服务器上的 python 脚本?
- c++ - 如何访问具有地图的二维矢量?
- node.js - 如何使用 mongoose 解决 mongodb 中的 MissingSchemaError
- android - Android Studio,如何查看“提示(快速文档)”?