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> </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