在 webview 中覆盖网页样式 - android

Override style of webpage in webview - android

我正在尝试覆盖 Web 视图中网页的现有样式。下面的webViewClient对网页没有影响。

public class WebClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    return super.shouldOverrideUrlLoading(view, url);
}


@Override
public void onPageFinished(WebView view, String url) {

    view.loadUrl("javascript:document.getElementsByClassName('main-container').style.paddingTop = '10px';");

}
}

getElementsByClassName returns 一个元素数组。你不是在修改它们中的每一个。您最好转到 jQuery 或创建一段代码,遍历数组中的所有元素并更改您想要的属性

我使用下面的 jquery 命令成功应用了样式。

@Override
public void onPageFinished(WebView view, String url) {
    view.loadUrl("javascript: $('.main-container').css('padding-Top','40px')");
}