2 votes

Comment enregistrer une page HTML à partir d'un site web en utilisant Chrome

J'ai un site Web qui comporte quelques pages HTML simples, sans images, sans références CSS ou JavaScript externes. La page HTML entière est donc un seul fichier autonome qui contient le code HTML, ainsi que les éléments suivants en ligne Code CSS et JavaScript. En d'autres termes, une fois que j'ai copié le fichier HTML dans ma base de données de l Downloads sur mon appareil mobile, je peux l'utiliser (tout en étant hors ligne ) en chargeant les éléments suivants dans le navigateur Chrome :

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

Le problème est que je ne parviens pas à télécharger la page web de mon site web dans la base de données de l'UE. Downloads dossier en utilisant Chrome sur mon appareil mobile : Lorsque je vais sur :

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

et afficher la page dans le navigateur mobile, je peux utiliser le bouton de téléchargement () sur l'onglet du navigateur Chrome ; cependant, cela crée un .mthml à la place, avec un nom comme celui-ci :

Title of My Page.mhtml

Lorsque j'essaie d'ouvrir ce fichier alors que mon appareil mobile est hors ligne, aucun des contenus interactifs de la page (par exemple, les boutons, les zones de saisie, etc.) n'est activé. Notez que ma page contient du contenu interactif qui est traité localement par le JavaScript contenu dans la page.

Actuellement, la seule solution est de connecter mon appareil mobile à mon PC (en utilisant le port USB par exemple) et de copier l .html de mon PC vers le disque dur du mobile Downloads fichier. Une fois que j'ai copié le .html et l'ouvrir sur mon appareil mobile à l'aide de l'application file:///... comme indiqué ci-dessus, le JavaScript de la page fonctionne comme prévu (contrairement à ce que l'on pourrait croire). .mhtml version).

En supposant que le .html page sur my-site est fréquemment mis à jour, il est fastidieux de le télécharger sur le PC et de le copier sur mon téléphone portable lorsque j'ai besoin d'une mise à jour. Il doit y avoir un moyen plus direct.

3voto

La chose la plus simple à laquelle je pense est d'ouvrir le fichier que vous voulez sauvegarder en tant que code source, ce que vous pouvez faire à partir de Chrome Android en ajoutant le préfixe view-source à l'URL, comme ceci.

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

Vous pouvez ensuite copier et coller ce code dans un fichier local, ou utiliser le bouton de partage pour l'ouvrir avec une application compatible de votre choix.

Si cela vous semble trop compliqué, vous pouvez envisager d'utiliser PHP pour déterminer si le fichier doit être visualisé ou téléchargé. Par exemple, si l'adresse IP de la requête correspond à votre téléphone, téléchargez au lieu d'afficher le fichier.

<?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">
    ....

À l'inverse, vous pouvez aussi simplement créer une page distincte pour permettre un téléchargement quelle que soit l'adresse IP requérante.

<?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');

Informations complémentaires sur le Content-Disposition peut être trouvé dans l'en-tête Documents pour les développeurs Mozilla . Ce n'est pas la seule ressource, bien sûr, c'est juste ma préférée.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X