以百度为例
首先通过浏览器的 F12 开发者工具,查看需要隐藏图片的信息,如图上可看到图片的 div 布局 id=“logo”。
然后重写 webview 的 WebViewClient onPageFinished方法
mWebView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
...
}
override fun onPageFinished(view: WebView, url: String) {
super.onPageFinished(view, url)
view.loadUrl("javascript:" + setJs())
}
}
setJs()就是我们要注入的 js 脚本
//自定义js脚本
fun setJs(): String {
var js = "var newscript = document.createElement(\"script\");"
js += "document.getElementById('logo').style.display = 'none';"
js += "document.body.appendChild(newscript);"
return js
}
其实就是找到 id=“logo” 的元素,将其隐藏
效果
除此之外也可通过这个方法,写入更多的 js 脚本,实现不同的需求。