Saltar al contenido

¿JavaScript no funciona en Android Webview?

Este grupo de redactores ha pasado mucho tiempo investigando soluciones a tus dudas, te dejamos la solución de modo que nuestro objetivo es que resulte de mucha ayuda.

Solución:

¡FIJADO! Estimulado por el error, descubrí que necesitaba configurar

setDomStorageEnabled(true)

para la configuración de la vista web.

Gracias por tu ayuda Stephan 🙂

En caso de que algo con WebView en Android no funcione, siempre trato de asegurarme de configurar estas banderas locas como,

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setDomStorageEnabled(true);
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setBuiltInZoomControls(true);
    webSettings.setDisplayZoomControls(false);
    webSettings.setSupportZoom(true);
    webSettings.setDefaultTextEncodingName("utf-8");

Me pregunto por qué estos no están configurados de forma predeterminada, quién esperaría páginas web sin contenido de javascript hoy en día, y de qué sirve tener javascript habilitado cuando DOM no está disponible a menos que se especifique. Espero que alguien haya presentado esto como un error o una solicitud de mejora/función y que los monos estén trabajando en ello.

y luego hay cosas obsoletas pudriéndose en alguna parte, como esto:

webView.getSettings().setPluginState(PluginState.ON);

Todo esto para cargar páginas web dentro de la aplicación.

En iOS, todo es muy simple: Swift 3.0

private func openURLWithInAppBrowser(urlString:String) 
    guard let url = URL(string:urlString) else 
        return
    
    let sfSafari = SFSafariViewController(url:url)
    present(sfSafari, animated: true, completion: nil)

Cargando javascript en webview

webView.getSettings().setDomStorageEnabled(true);

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *