Android – después de cargar URL con webview puedo cambiar el color de fondo
Tengo una webview y estoy cargando una forma HTML externa de un sitio. Intento cambiar el color de fondo usando la función javascript:
function changeBGC(color){ document.bgColor = color; }
Y eso no funciona. Pero si carga localmente entonces im capaz de cambiar el color de fondo. ¿Hay algún tipo de seguridad que me impide cambiar una página web que carga en la webview externamente?
- Generar mapa de bits de HTML en Android
- Hacer que el inicio de sesión en facebook funcione con una vista Web de Android
- ¿Cómo abrir el archivo pdf local en webview en android?
- El botón Atrás destruye la actividad de Crosswalk Android
- Android - Cómo ejecutar la intención de JavaScript
- WebView de Android manipula incorrectamente nuevas líneas en texto preformateado
- WebView height = wrap_content con cambiar el tamaño de fuente no funciona
- Vista web de Android lenta
- WebView en un cuadro de diálogo (carga de activos) y no presentado
- AdView ralentiza la aplicación completa, posible razón
- Android: Callbacks con componente WebView?
- Android WebView reproducir audio con javascript
- Cómo buscar texto en la vista web
Puede ejecutar javascript usando el WebViewClient, ejemplo aquí .
El código javascript que cambia el color de fondo de un documento .
Así que para ponerlo todo junto:
Al initalizar WebView:
WebView webview = new WebView(); webview.setWebViewClient(new WebClient()); webView.getSettings().setJavaScriptEnabled(true); webview.loadUrl("stackoverflow.com");
Su cliente de vista web:
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); } }