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 ?
webview. setBackgroundColor(getContext(). getResources(). getColor(android.
Change the Background Color of a Web Page Right-click the page to which you want to change a background color, and then click Page Properties. Click the Formatting tab. Click the Background list arrow. Click the color you want on the color palette.
You 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.com");
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 command = "javascript:document.body.style.background = " + color + ";";
view.loadUrl(command);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With