Удаление стилей страницы | Kotlin | WebView
Как отключить/не загружать стили страницы? Хочу переписать их, но не пойму, как отключить перед этим.
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mRandom = Random()
mHandler = Handler()
mSwipeRefresh = findViewById(R.id.swiper);
mSwipeRefresh?.setOnRefreshListener {
injectCSS()
mRunnable = Runnable {
mSwipeRefresh?.isRefreshing = false
}
mHandler.postDelayed(
mRunnable,
(1000).toLong()
)
}
webView = findViewById(R.id.main_web)
webView?.settings?.javaScriptEnabled = true
webView?.settings?.builtInZoomControls = false
webView?.webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {
injectCSS()
super.onPageFinished(view, url)
}
}
webView?.loadUrl("https://www.ru/")
}
private fun injectCSS() {
try {
val inputStream: InputStream = assets.open("style.css")
val buffer = ByteArray(inputStream.available())
inputStream.read(buffer)
inputStream.close()
val encoded: String = Base64.encodeToString(buffer, Base64.NO_WRAP)
webView!!.loadUrl(
"javascript:(function() {" +
"var parent = document.getElementsByTagName('head').item(0);" +
"var style = document.createElement('style');" +
"style.type = 'text/css';" + // Tell the browser to BASE64-decode the string into your script !!!
"style.innerHTML = window.atob('" + encoded + "');" +
"parent.appendChild(style)" +
"})()"
)
} catch (e: Exception) {
e.printStackTrace()
}
}