I have a webview and im loading an external HTML form a site. I try to change the background color using javascript function:
function changeBGC(color){
document.bgColor = color;
}
and that does not work. but if i load locally then im able to change the background color. Is there some kind of security inhibiting me from changing a web page i load into the webview externally ?
I have a webview and im loading an external HTML form a site. I try to change the background color using javascript function:
function changeBGC(color){
document.bgColor = color;
}
and that does not work. but if i load locally then im able to change the background color. Is there some kind of security inhibiting me from changing a web page i load into the webview externally ?
Share Improve this question asked Sep 1, 2013 at 4:15 j2emanuej2emanue 62.6k74 gold badges304 silver badges474 bronze badges 1-
You want t change the background color of Webview ? If yes, then you can try using
setBackgroundcolor
as well. – Shobhit Puri Commented Sep 1, 2013 at 4:31
1 Answer
Reset to default 8You can run javascript using the WebViewClient, example here.
The javascript code that changes the background color of a document.
So to put it all together:
When initing WebView:
WebView webview = new WebView();
webview.setWebViewClient(new WebClient());
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("stackoverflow.");
Your web view client:
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 mand = "javascript:document.body.style.background = " + color + ";";
view.loadUrl(mand);
}
}