Developpez.com - Rubrique Dév. Web

Le Club des Développeurs et IT Pro

Transformez votre navigateur en bloc-note

Avec une ligne de code !

Le 2013-01-31 09:14:21, par Bovino, Rédacteur

C'est peut-être aussi votre cas, mais il m'arrive souvent d'avoir envie (ou besoin) de conserver certaines informations ou certains textes dans un coin mais sans vouloir pour autant les conserver.

La méthode habituelle, c'est de créer un fichier .txt dans lequel on note ou copie / colle ces informations. Puis, une fois que l'on n'en a plus besoin, on supprime de fichier.

Mais tout cela est bien inutile !
Votre navigateur peut faire office de bloc-note et comme (si vous êtes comme moi ! ) le navigateur est constamment ouvert, cette solution est idéale.

Pour cela, il suffit d'ouvrir un onglet et de rentrer dans la barre d'adresse :
data:text/html, <html contenteditable>
Et voilà ! Le tour est joué, il ne vous reste qu'à écrire !

Source : One line browser notepad.
  Discussion forum
6 commentaires
  • happyboon
    Membre habitué
    Envoyé par Bovino


    La méthode habituelle, c'est de créer un fichier .txt dans lequel on note ou copie / colle ces informations. Puis, une fois que l'on n'en a plus besoin, on supprime de fichier.

    Et voilà ! Le tour est joué, il ne vous reste qu'à écrire !
    excuse moi Bonivo une fois que j'ai mon code html saisi dans le navigateur, comment je fais pour le tester et le voir son rendement en tant que internaute?
  • Gadjetor
    Nouveau Candidat au Club
    Et le Ctrl+S fonctionne aussi ! Permettant de sauvegarder la note...
  • macmorning
    Futur Membre du Club
    Hello,

    J'essaie d'ajouter un bout de code pour sauvegarder le contenu dans le localStorage toutes les 2 secondes, voilà où j'en suis :
    Code :
    data:text/html, <html><script>function i(){document.getElementById('textdiv').innerHTML=localStorage.mynotes;setInterval(function(){localStorage.mynotes=document.getElementById('textdiv').innerHTML;},2000);}</script><body onload="i();"><div contenteditable style="width:100%;height:100%;font-family:tahoma;border:1px black;" id='textdiv'/></body></html>
    Malheureusement il n'a pas l'air de sauvegarder correctement mon localStorage, peut-être est-ce dû à la méthode d'accès via "data:text/html" ?
  • Bovino
    Rédacteur
    Attention !
    Le but n'est absolument pas de transformer le navigateur en éditeur HTML !
    Pour ça, tous les navigateurs dignes de ce nom possèdent des consoles efficaces.

    Le but est de pouvoir utiliser un onglet du navigateur comme bloc-note temporaire !
  • macmorning
    Futur Membre du Club
    Oui c'est pour le fun !
    Et effectivement lorsque je mets le code dans un fichier html, le localStorage est bien conservé.
  • Bovino
    Rédacteur
    Ce n'est pas possible avec cette méthode car localStorage est limité par des contraintes de sécurité (notamment la Same Origin Policy) qui ne sont pas présentes.

    En revanche, dans un fichier, c'est possible :
    Code html :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!doctype html> 
    <html> 
    <head> 
    	<meta charset="utf-8" /> 
    	<title>Bloc Note</title> 
    	<script> 
                    window.onload = function(){ 
                            var content = localStorage.getItem('notepad') ? localStorage.getItem('notepad') : ''; 
                            document.body.innerHTML = content; 
                            document.body.onkeyup = function(){ 
                                    localStorage.setItem('notepad', document.body.innerHTML); 
                            } 
                    } 
            </script> 
    </head> 
    <body contenteditable></body> 
    </html>
    Bon, il manque quelques tests de feature detection, mais dans les navigateurs compatibles, ça fonctionne.