Отключение CSS в WebView в Android можно достичь с использованием Asertive Substring CSS Filter (ASCF), который позволяет заменить или удалить CSS-правила из загруженного веб-сайта.
Для отключения CSS в WebView вам потребуется создать свою реализацию WebViewClient и переопределить метод onPageFinished()
. В этом методе вы можете выполнить JavaScript, чтобы удалить или заменить CSS-правила на странице.
Вот пример кода:
import android.webkit.WebView; import android.webkit.WebViewClient; public class MyWebViewClient extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); String javascript = "javascript:(function() { " + "var styleSheets = document.styleSheets; " + "for (var i = 0; i < styleSheets.length; i++) { " + "styleSheets[i].disabled = true; " + "} " + "})()"; view.loadUrl(javascript); } }
В этом примере кода метод onPageFinished()
переопределен и использует JavaScript для отключения всех CSS-правил на странице. Он перебирает все стилевые листы на странице и устанавливает свойство disabled
в значение true
, что делает эти стили недоступными.
Затем, чтобы использовать вашу реализацию WebViewClient с вашим WebView, вам нужно установить ее следующим образом:
WebView webView = (WebView) findViewById(R.id.webView); webView.setWebViewClient(new MyWebViewClient());
Таким образом, при каждой загрузке страницы в вашем WebView, будет вызываться метод onPageFinished()
вашего MyWebViewClient, отключающий CSS-правила на странице с помощью JavaScript-кода.
Примечание: отключение CSS может повлиять на внешний вид и расположение элементов на странице, поэтому будьте осторожны при использовании этого метода.