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?
- Android: Callbacks con componente WebView?
- Generar mapa de bits de HTML en Android
- ¿Cómo puedo mostrar un documento PDF en una vista Web?
- Mostrar archivo PDF en Android WebView utilizando mozilla pdf.js Nivel de API Android inferior a 19
- Cómo cargar mi aplicación web móvil en una vista web desde Facebook ¿Aplicación nativa para Android?
- Campo de texto en WebView en un Android está oculto por el teclado
- El botón Atrás destruye la actividad de Crosswalk Android
- Google Drive, el visor de pdf ya no funciona en android
- Android webView saveState
- Detección automática de número de teléfono, correo electrónico y enlace URL en Webview - Android sdk
- Cómo obtener contenido html desde una webview?
- WebView en un cuadro de diálogo (carga de activos) y no presentado
- Cómo cambiar el tamaño de una vista web de Android después de agregar datos en ella
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); } }