我有一个 webview,我正在从一个站点加载一个外部 HTML。我尝试使用 javascript 函数更改背景颜色:
function changeBGC(color){
document.bgColor = color;
}
那是行不通的。但如果我在本地加载,那么我可以更改背景颜色。是否有某种安全措施阻止我更改从外部加载到 webview 中的网页?
我有一个 webview,我正在从一个站点加载一个外部 HTML。我尝试使用 javascript 函数更改背景颜色:
function changeBGC(color){
document.bgColor = color;
}
那是行不通的。但如果我在本地加载,那么我可以更改背景颜色。是否有某种安全措施阻止我更改从外部加载到 webview 中的网页?
您可以使用 WebViewClient 运行 javascript,例如此处。
更改文档背景颜色的javascript 代码。
所以把它们放在一起:
启动 WebView 时:
WebView webview = new WebView();
webview.setWebViewClient(new WebClient());
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("stackoverflow.com");
您的网络视图客户端:
public class WebClient extends WebViewClient {
int color;
public WebClient(int color) {
this.color = color;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url)
{
String command = "javascript:document.body.style.background = " + color + ";";
view.loadUrl(command);
}
}