10 votos

Archivos locales reexaminados: Apertura de archivos HTML locales (file:///ruta/al/archivo) en Chrome en Android 10.x

Puede notar el título casi duplicado de esta pregunta. Sigue apareciendo cuando intento resolver mi problema actual.

Creé una pequeña aplicación web para ayudar en el trabajo. Sólo algo de HTML y JavaScript, y antes de que Android comenzara a aplicar el Almacenamiento Agrupado, no tenía problemas al usarla. Ahora, cuando intento cargar la URL (es decir: file:///storage/emulated/0/__MyDocs/SignInTracker.html), recibo un error de acceso denegado.

Podría usar Firefox, pero parece ser porque aún no está utilizando el estándar de Almacenamiento Agrupado, que si entiendo correctamente, será un requisito en la próxima versión de Android, lo que significa que no puedo confiar en que funcione en el futuro. Además, Firefox simplemente no se ejecuta tan bien como Chrome.

¿Hay alguna manera adecuada para que un no desarrollador de Android use una aplicación web local como esta? ¿Existe tal vez una ubicación en el teléfono donde pueda colocar mis archivos .html y .js que permita a Chrome acceder a ellos sin problemas? En el trabajo, no estoy en línea ni conectado a nada, por lo que cargar desde otro servidor/ordenador no es una opción.

Para referencia: Mi versión de Chrome es 79.0.3945.116, mi versión de Firefox es 68.4.1, y mi sistema operativo del teléfono es Android 10; Pixel Build/QP1A.191005.007.A1.

0 votos

Este mismo problema ocurre con otros navegadores como Firefox y Bromite :-(

10voto

Paul Puntos 1319

Tienes 2 opciones:

  • Puedes utilizar un servidor web local en tu propio teléfono Android. Hay muchas aplicaciones de servidor disponibles en la tienda Play, una de esas aplicaciones es Simple HTTP Server.

  • Puedes colocar tus documentos en la carpeta Android/data/com.android.chrome/files/Download/ en el almacenamiento interno. Su ruta absoluta es /storage/emulated/0/Android/data/com.android.chrome/files/Download/ o /sdcard/Android/data/com.android.chrome/files/Download/. Este es el lugar donde Chrome guarda los archivos descargados y, por lo tanto, es el único lugar donde Chrome puede acceder a los archivos. Pero recuerda, desinstalar Chrome eliminará este directorio.

1 votos

Había probado algunas aplicaciones de servidor pero todas tenían problemas (una de ellas ni siquiera procesaba Javascript). Sin embargo, parece que haber colocado los archivos en ese directorio ha funcionado. ¡Gracias!

0 votos

También puedes usar el navegador Opera si lo deseas. Es muy similar a Chrome ya que ambos utilizan el mismo motor. Opera no presenta problemas al navegar por el almacenamiento.

0 votos

Gracias por la sugerencia del Servidor HTTP Simple: es muy fácil de usar, es gratuito y funciona de maravilla. ¡Este es un solución muy elegante! Aún así, no entiendo completamente por qué Android no permite dar acceso a aplicaciones a carpetas seleccionadas en el almacenamiento local. Quizás en el futuro esto se implemente; esperemos.

6voto

Michal Ilčin Puntos 21

Para Android 11 [One UI 3.1]

Al navegar por archivos locales (en el espacio de almacenamiento interno) en Chrome usando file:///sdcard/ o file://localhost/sdcard/, se puede notar que solo los archivos multimedia y subdirectorios (si los hay) se enumeran en casi todas las carpetas excepto la carpeta "Descargas" (pero no en sus subcarpetas=subdirectorios).

Esto significa que en Android 11, la carpeta desde la cual Chrome puede leer archivos locales (m)HTML es la carpeta /Download, no Android/data/com.android.chrome/files/Download en el espacio de almacenamiento interno o externo como en Android 10.

NOTA: en mis dispositivos Samsung, las descargas en el almacenamiento interno se guardaban en la carpeta /Download en todas las versiones de Android (9, 10, 11), pero las descargas en una tarjeta SD externa cambiaron su carpeta de /storage/emulated/exSD_CARD/Android/data/com.android.chrome/files/Download en Android 10 a /storage/emulated/exSD_CARD/Download en Android 11, donde exSD_CARD es el etiqueta del dispositivo para la tarjeta SD externa (0123-4567 o 9C33-6BBD en mis dispositivos)

Por lo tanto, los archivos (m)HTML guardados en la carpeta /Download con Chrome (con la extensión .mhtml de tiempos anteriores o con una extensión agregada manualmente al renombrar archivos mhtml guardados sin extensión - desde cierto momento, Chrome dejó de agregar la extensión .mhtml a los archivos mhtml guardados :) en mis dispositivos, supongo que desde la actualización a Android 10)

Esto no funcionó para los archivos mhtml que han sido movidos a otras carpetas y luego devueltos a la carpeta /Download. (Y debido a que he recolectado archivos mhtml guardados en muchas carpetas diferentes, tengo muchos archivos mhtml que es necesario copiar/mover de vuelta a la carpeta /Download antes de abrirlos, pero aún no se pueden abrir)

Notas sobre la apertura de archivos mhtml

Necesito usar la funcionalidad "Abrir con" de Total Commander con la opción file://url marcada, luego elegir Chrome para abrir el archivo (mhtml) con Chrome (con file://url marcada, Chrome está en la lista para elegir, con file://url desmarcada, no está en la lista) o para navegar por archivos locales en el almacenamiento interno directamente en Chrome (el administrador de archivos My Files proporcionado con el dispositivo no era utilizable para elegir archivos mhtml para abrir con Chrome)

Los archivos (mhtml) de la carpeta /Download abiertos de esta manera se abren como versiones sin conexión de páginas web descargadas, solo si el archivo no fue movido y devuelto a la carpeta /Download, de lo contrario se recibe un mensaje de Acceso denegado. Además, abrir archivos (mhtml) de esta manera con Total Commander, pero desde otras carpetas que no sean la carpeta /Download, conduce a un mensaje de Acceso denegado

Abrir archivos mhtml desde cualquier carpeta usando Total Commander, pero con la opción file://url desmarcada (en este caso, Chrome no está en la 1ra lista, por lo que es necesario elegir la opción "Abrir con *" con el icono de carpeta de la lista y posteriormente elegir Chrome de la siguiente lista) se comporta de manera diferente. Abrir de esta manera no lleva a una apertura exitosa o a un mensaje de Acceso denegado, sino a un formulario de Diálogo Guardar como en el que se puede elegir también si el archivo mhtml vuelto a guardar debe guardarse en el almacenamiento interno o en la tarjeta SD externa (si está presente). De esta manera, los archivos mhtml vuelvo a guardados en la carpeta /Download (en el espacio de almacenamiento interno o externo) ahora se pueden abrir usando el diálogo "Abrir con" de Total Commander con la opción marcada file://url.


Aún así, existe una forma de abrir los archivos (m)HTML con Chrome

  • sin otros navegadores/visor
  • sin hacer root en el dispositivo Android

pero tal vez solo hasta la próxima actualización :)

0 votos

¡Gracias! La URL file:///sdcard/ funciona en Android 8.

1voto

user12933 Puntos 101

Mi solución para abrir archivos locales en mi tablet Samsung es la siguiente:

  1. Instalar Ghost Commander desde f-droid.org (enlace)

  2. Navegar hasta el directorio donde se encuentra el archivo .html, luego hacer doble clic en él y abrirlo con Chrome, Opera o el navegador web de Samsung. Lamentablemente no puedo asociarlo con Firefox para Android (no está en la lista).

La URL parece un poco aleatoria: content://com.ghostsq.commander.FileProvider/FS/L3N0c3JhZ2UvZW11bBF1ZWQvMC9Nb3ZpZXMvenNhbmk/videos.html

Pero todo funciona, todas las rutas relativas listadas en el .html funcionan.

En mi caso, tengo una lista de videos que puedo filtrar solo con .css (incrustado dentro del archivo .html) sin necesidad de un javascript adicional.

0voto

Hannu Puntos 101

Mi elección: Total Commander,

disponible en Google Play, también para todas las versiones de Windows desde hace siglos (tan atrás como tener una versión descargable de 16 bits para Win 3.1).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X