Accéder à l'historique par programme
luckydu43 Messages postés 4259 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux accéder à l'historique d'un navigateur par un programme fait en js ou pascal
- Accéder à l'historique par programme
- Historique presse-papier android - Guide
- Programme demarrage windows - Guide
- Historique de mes trajets - Guide
- Historique prix amazon - Guide
- Historique notification android - Guide
1 réponse
Bonjour
La question est étrange mais mettons.
En JS t'es vite limité sans usage d'une extension avec l'autorisation de l'utilisateur pour parcourir l'historique.
Voici une page .html que tu lances dans un onglet contenant de l'historique, il va bêtement pouvoir aller à la page suivante ou précédente s'il y en a une.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Lire historique</title> </head> <body> <h1>Il y a <span id="nb"></span> pages dans l'historique de cet onglet.</h1> <button onclick="precedent()">Précedant</button> <button onclick="suivant()">Suivant</button> <p id="erreur"></p> <script> function precedent() { if (window.history.length > 1) { window.history.back(); } else { document.getElementById('erreur').textContent = "Aucun historique dans cet onglet"; } } function suivant() { if (window.history.length > 1) { window.history.forward(); } else { document.getElementById('erreur').textContent = "Aucun historique dans cet onglet"; } } document.getElementById('nb').textContent = window.history.length; </script> </body> </html>
Les scripts de tracking publicitaires jouent plutôt sur la lecture des cookies, le stockage local et le fingerprinting.
Côté Pascal il s'agit plutôt de lire le contenu de la base de données locale de l'historique, pour Chrome il s'agit d'une base SQLite. Donc le script ressemblera à un SELECT après création d'une connexion, un peu comme ceci :
program parcourirBddHistoriqueChrome; uses sqlite3; var bdd: TSQLite3Database; statement: TSQLite3Statement; indexHistorique: Integer; begin bdd := TSQLite3Database.Create('C:\Users\VOTRE_NOM\AppData\Local\Google\Chrome\User Data\Default\History'); bdd.Open; statement := bdd.Prepare('SELECT url, title FROM urls'); indexHistorique := statement.Step; while historique = SQLITE_ROW do begin WriteLn('URL de la page = ', statement.ColumnText(0)); WriteLn('Titre de la page = ', statement.ColumnText(1)); indexHistorique := statement.Step; end; statement.Free; bdd.Free; end.
Il va de soi que ce programme ne marche qu'en ayant accès physiquement au dossier AppData donc hors de l'espace permis au navigateur en lecture.