2 votos

Cómo guardar una página HTML de un sitio web con Chrome

Tengo un sitio web que tiene algunas páginas HTML sencillas sin imágenes, ni referencias CSS o JavaScript externas. Así que toda la página HTML es un único archivo que contiene el código HTML, junto con en línea Código CSS y JavaScript. En otras palabras, una vez que copie el archivo HTML en mi Downloads carpeta en mi dispositivo móvil, puedo usarla (mientras se fuera de línea ) cargando lo siguiente en el navegador Chrome:

file:///storage/emulated/0/Download/my_page.html

El problema es que no puedo descargar la página web de mi sitio web en el Downloads carpeta usando Chrome en mi dispositivo móvil: Cuando voy a:

https://my-site.tld/xxx/my_page.html

y mostrar la página en el navegador móvil, puedo utilizar el botón de descarga (⭳) en la pestaña del navegador Chrome; sin embargo, crea un .mthml con un nombre como éste:

Title of My Page.mhtml

Cuando intento abrir este archivo mientras mi dispositivo móvil está desconectado, no se activa ningún contenido interactivo de la página (por ejemplo, botones, cuadros de entrada, etc.). Tenga en cuenta que mi página contiene contenido interactivo que se procesa localmente por el JavaScript contenido en la página.

Actualmente, la única solución es conectar mi dispositivo móvil a mi PC (mediante USB, por ejemplo) y copiar el .html archivo de mi PC a la del móvil Downloads archivo. Una vez que copie el .html y abrirlo en mi dispositivo móvil utilizando el file:///... URL como se ha indicado anteriormente, el JavaScript de la página funciona como se esperaba (al contrario que el .mhtml versión).

Suponiendo que el .html página en my-site se actualiza con frecuencia, es tedioso descargarlo en el PC y copiarlo en mi teléfono móvil cuando necesito una actualización. Debe haber una forma más directa.

3voto

Gaussian0617 Puntos 542

Lo más sencillo que se me ocurre es abrir el archivo que quieres guardar como código fuente, lo que puedes hacer desde Chrome Android anteponiendo view-source a la URL, así.

view-source:https://my-site.tld/xxx/my_page.html

A continuación, puedes copiar y pegar este código en un archivo local, o utilizar el botón de compartir para abrirlo con una aplicación compatible de tu elección.

Si esto parece demasiado molesto, puede considerar hacer algo como usar PHP para determinar si el archivo debe ser visto o descargado. Por ejemplo, si la dirección IP de la solicitud coincide con su teléfono, descargar en lugar de mostrar el archivo.

<?php
/**
 * File url: https://my-site.tld/xxx/my_page.php
 *
 */

$remote_address = filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_SANITIZE_STRING);

if ($remote_address === '56.57.58.59') {
    header("Content-Disposition: attachment; filename=\"filename.html\"\n");
    header("Content-Type: text/html\n");
}

?>
<!-- Begin actual page content -->
<!DOCTYPE html>
<html lang="en-US">
    <meta charset="UTF-8">
    ....

A la inversa, también podría crear simplemente una página separada para permitir una descarga independientemente de la dirección IP solicitante.

<?php
/**
 * File url: https://my-site.tld/xxx/my_page-download.php
 *
 */

header("Content-Disposition: attachment; filename=\"filename.html\"\n");
header("Content-Type: text/html\n");
readfile('path/to/file');

Información adicional sobre el Content-Disposition puede encontrarse en la cabecera Documentos para desarrolladores de Mozilla . No es el único recurso, por supuesto, sólo es mi favorito personal.

1 votos

Gracias José. El método de ver-fuente, seleccionar todo, copiar y pegar (en el editor de Total Commander) es una mejora para mí...

1 votos

Un placer, me alegra saber que he podido ser de ayuda

1 votos

Nota: He votado esta respuesta. Pero, no es una respuesta aceptada para mí, porque estoy buscando una respuesta sobre cómo guardar un archivo HTML en el sistema de archivos mediante el uso de sólo Chrome y no cualquier otra herramienta adicional.

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