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