3

我有一个基于 WebView 的应用程序,我想在其中添加一个“夜间模式”。我的第一直觉是让程序每次都根据夜间模式是否打开来呈现正确的 CSS 值,效果很好,但这意味着每次切换模式时都必须重新加载页面。有什么方法可以追溯更改css值而无需重新加载页面?

4

1 回答 1

3

您可以将代码注入页面的 DOM。因此,例如,您可以有一个重置样式表,然后根据需要将带有 javascript 的白天或夜间模式类注入到 dom 中,如下所示:

public class WebClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) 
    {       
        view.loadUrl("javascript:document.getElementById(id).style.property=new style");       
    }
}

高温高压

于 2013-06-20T11:39:43.027 回答