El navegador de Android corta el esquema https: // del calificador completo
En mi aplicación, muestro un sitio HTML externo en CustomTabsIntent o en un WebView:
if (customTabsIntent != null) customTabsIntent.launchUrl(this, Uri.parse("http://some.where.com/site.html")); else startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://some.where.com/site.html")));
Pero el estilo de ese HTML ya está actualizado, pero mi smartphone muestra el viejo estilo (fuentes antiguas, etc.).
- ¿Hay una manera de pre-cache de una página web para ver con un Android WebView?
- Android claro hilo webview, libre de memoria, evitar OutOfMemoryError
- Añadir indicador de carga / barra de progreso a Phonegap Pantalla de bienvenida de Android
- Fuentes hebreas de Android 2.3 en Webview
- Jellybean / ICS Método de publicación HTTP Android + WebView.RestoreState
En el archivo * .html hay un * .css referenciado:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href='https://my.site.com/assets/css/style.css' rel='stylesheet' type='text/css'> </head>
Y en ese archivo * .css, hay una fuente individual referenciada; p.ej:
@font-face { font-family: 'MyFontRegular'; src: url('https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.woff') format('woff'), url('https://www.openfont.org/assets/mail/fonts/MyFontWeb-Regular.eot') format('embedded-opentype'); }
Como he dicho, el navegador de cromo en mi teléfono inteligente no muestra las fuentes de referencia, ya que corta el http: // o https: // desactivado. Cuando prepend ese esquema manualmente en la barra de direcciones, se muestra el estilo apropiado.
¿Cómo puedo forzar el esquema https: // en el campo de dirección en mi navegador android, cuando se llamó desde mi aplicación android?
- Android precarga una url en WebView mientras se muestra la pantalla de bienvenida
- Android WebView setCertificate emite problemas de SSL
- ¿El WebView de Android cifra las contraseñas guardadas?
- Android facebook como usar la vista web
- Teclado amigable de correo electrónico de Android en el campo de entrada de webview
- webView.loadUrl no funciona
- Detectar el cambio de ubicación de la URL de webview de Android
- Gestión de permisos de descarga de archivos WebView y permisos de tiempo de ejecución
Podría ser caché. Si tiene control sobre el sitio html, cambie el include a algo como:
<link href='https://my.site.com/assets/css/style.css?something=132545' rel='stylesheet' type='text/css'>
Después de eso, pruébelo en el teléfono. Si el caché despeja y extrae el nuevo archivo css, cambie el número a un número generado al azar.
Se cargará el archivo cada vez que cambie la variable "algo". Si realizas esas actualizaciones de estilo no tan a menudo, haz que sea un número fijo y continúa aumentándolo cada vez que actualices el archivo css.
Siguiendo su información sobre las fuentes que no están cargadas con https, podría intentar sobrescribir el onReceivedSslError y verlo resuelve el problema:
@Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); }
Tenga cuidado, esto desactiva completamente la validación de ssl … es una ruta peligrosa.
- ¿Cómo obtener métricas de pantalla fuera de una actividad?
- Problema al usar OpenCV2.3.1 con la actividad de Android Native