History e recupero dei siti visitati

di il
3 risposte

History e recupero dei siti visitati

Ciao, ho bisogno di prima salvare, poi rivisualizzare i siti visitati in un determinato periodo di tempo; anticipo che è qualcosa che va oltre la semplice cronologia, ora mi spiego.

Devo poter scrivere in un file history.txt l'elenco dei siti visitati al variare dell'indirizzo: vado su chrome digito un indirizzo e questo si salva nel file history.txt, immediatamente l'indirizzo cambia perché faccio un click sulla pagina e il nuovo indirizzo viene scritto nel file, ecc… quando mi stufo il file viene salvato e lasciato lì per l'uso successivo.

Uso successivo:

Ho un file html con un iframe dentro che carica gli indirizzi presenti nel file history.txt ad intervalli regolari.

Per popolare il file html sto usando questo codice MTL+PXP:

HTML: ScriviTxt.html

<!DOCTYPE html>
<html>
<head>
  <title>Salva Link in History</title>
</head>
<body>

<!-- Contenuto della pagina -->

<script>
  // Funzione per salvare il link corrente nel file "history.txt"
  function saveLinkToHistory() {
    var currentLink = window.location.href;

    // Crea un oggetto XMLHttpRequest
    var xhr = new XMLHttpRequest();

    // Imposta la richiesta POST per salvare il link
    xhr.open("POST", "ScriviNelTxt.php", true);

    // Imposta l'intestazione Content-Type per la richiesta POST
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    // Invia il link come parametro nella richiesta POST
    xhr.send("link=" + encodeURIComponent(currentLink));
  }

  // Registra l'evento "beforeunload" che si verifica prima di lasciare la pagina
  window.addEventListener("beforeunload", saveLinkToHistory);
</script>

</body>
</html>

PHP: ScriviNelTxt.php

<?php
// Verifica se è stata inviata una richiesta POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // Controlla se il parametro 'link' è presente nella richiesta POST
  if (isset($_POST['link'])) {
    // Ottieni il link dalla richiesta POST
    $link = $_POST['link'] . "\n"; // Aggiungi un nuovo rigo

    // Specifica il percorso del file "history.txt"
    $file = 'history.txt';

    // Apri il file in modalità append
    // Se il file non esiste, verrà creato automaticamente
    $handle = fopen($file, 'a');

    // Scrivi il link nel file
    fwrite($handle, $link);

    // Chiudi il file
    fclose($handle);
  }
}
?>

Per leggere il file txt invece: LeggiTXT,html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="generator" content="AlterVista - Editor HTML"/>
  <title></title>
</head>
<body>


  <p>&nbsp;</p>

<iframe id="myFrame" src=""></iframe>

<script>
  function loadNextWebsite() {
    // Leggi il file di testo
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "history.txt", true);
    xhr.onreadystatechange = function () {
      if (xhr.readyState === 4 && xhr.status === 200) {
        var textData = xhr.responseText;
        var websites = textData.split("\n");

        var currentWebsiteIndex = 0;
        var iframe = document.getElementById("myFrame");

        function loadNext() {
          if (currentWebsiteIndex < websites.length) {
            var websiteUrl = websites[currentWebsiteIndex];
            iframe.src = websiteUrl;
            console.log("Caricamento URL: " + websiteUrl); // Output nella console
            currentWebsiteIndex++;
          } else {
            clearInterval(intervalId);
          }
        }

        var intervalId = setInterval(loadNext, 5000); // Cambia sito ogni 5 secondi

        iframe.onload = function () {
          // Aggiungi eventuali azioni da eseguire quando il sito viene caricato nell'iframe
        };

        loadNext();
      }
    };
    xhr.send();
  }
</script>

</body>
</html>

Il problema è che il file history.txt rimane vuoto, pertanto non posso verificare neppure la seconda parte del mio progetto, ovvero la pagina con l'iframe che rimane anch'esso vuoto.

Per quanto riguarda la prima parte, cioè la scrittura mi aoocntento di un'estensione di Chrome che salvi la cronologia, ne ho provata una la "Form, Cookies & Search Tracker" ma crea un file poco lavorabile, cioè rimane complicato estrarre l'elenco dei siti, si può fare me se ne hai ceto è un lavoro molto lungo.

Grazie dell'aiuto.

Ciao

3 Risposte

  • Re: History e recupero dei siti visitati

    Uhm.. non credo che la strada da seguire sia quella di un html.

    Dovresti costruirti un browser.

    Supponi che stai visitando il sito xy, ti sposti sul tuo ScriviTxt.html la pagina che visti è la tua. Poi ti sposti su ab.html (sperando che non sia ab.php) e a quel punto ScriviTxt.html non c'è più.

    O crei un programma che ti regista le pagine web o non hai molte speranze di scrivere il file di testo.

    Cronologia funziona proprio perché è una funzione del browser, se cambi browser la cronologia è diversa.

    Puoi creare un demone che legge la cronologia e la riporta sul file txt.

  • Re: History e recupero dei siti visitati

    Grazie della risposta.

    Come dicevo potrei anche usare un'estensione di Chrome (di solito uso questo browser, quindi non il problema di doverlo cambiare), se ne hai una da suggerire, basta che poi sia semplice recuperare gli indirizzi.

    Puoi creare un demone che legge la cronologia e la riporta sul file txt.

    Cosa sarebbe?

    Grazie

    Ciao

  • Re: History e recupero dei siti visitati

    Un demone è un programma privo di interfaccia utente che gira in background.

    Per queto aspetta che ti risponda chi lavora con script.

    In attesa puoi documentarti sugli script.

Devi accedere o registrarti per scrivere nel forum
3 risposte