Passa ai contenuti principali

chrome app - opzioni estensione

ogni estensione o applicazione per chrome può avere una serie di opzioni che ne personalizza il comportamento
vedremo ora come abilitare la gestione delle opzioni per le applicazioni o estensioni chrome che si creano e come personalizzare le pagine html utilizzando librerie come jQuery e BootStrap

attivazione pagina opzioni

la pagina delle opzioni per un'estensione di chrome si attiva impostando il parametro "options_page" nel file manifest.json con il nome della pagina contenente le nostre opzioni:
{
   .....
   "options_page": "options.html"
   .....
}

salvataggio delle opzioni

tutte le opzioni di qualsiasi estensione chrome sono salvate nel localstorage del browser, niente di più semplice

applicazione

riprendendo il nostro progetto chromeapp aggiungiamo al file manifest.json il parametro sopra definito e creiamo il file options.html
ecco il flusso esemplificativo della pagine opzioni che andremo a creare:

  • visualizzazione di un campo selezione con dei colori ; 
  • l'utente seleziona il colore
  • l'utente preme salva
  • l'applicazione salva il valore e stampa il messaggio di salvataggio avvenuto
  • l'utente aggiorna la pagina
  • l'applicazione recupera il valore salvato e lo presenta come selezionato
per semplificare il processo utilizzeremo jQuery, il plugin jQuery Storage Api, Bootstrap per la parte grafica
tutti i file js devono essere scaricati in locale pena un errore di chrome
inseriremo i vari file js all'interno della cartella "lib" appositamente creata
i file di boostrap saranno invece inseriti nella root del progetto

file options.html

il file options.html si preoccupa di caricare i plugin di jQuery e Bootstrap per i css e crea la  visualizzazione del campo di selezione
inoltre il file si preoccupa di caricare un'altro file options.js che gestisce la il salvataggio e recupero dei dati

<html>

<head>
    <title>My Test Extension Options</title>
    <script src="lib/jquery.min.js"></script>
    <script src="lib/jQuery-Storage-API/jquery.storageapi.min.js"></script>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"> 
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="span8 offset2 well">
                <h1>colore favorito</h1>
                <select id="color" class="form-control">
                    <option value="red">sorro</option>
                    <option value="green">verde</option>
                    <option value="blue">blue</option>
                    <option value="yellow">giallo</option>
                </select>
                <br>
                <div id="status"></div>
                <button id="save" class="btn btn-info">salva</button>
            </div>
        </div>
    </div>

</body>

<script src="options.js"></script>

</html>


Quello che è importante sottolineare e che in questo processo all'interno del file manifest.json di chrome abbiamo solo specificato un file unico options.html mentre tutti i file relativi a questa mini applicazione sono stati caricati in maniera dinamica direttamente dalla pagina web

aggiornamento dell'applicazione su chrome

all'interno della pagina delle nostre applicazioni possiamo premere su ricarica e poi su opzioni e visualizzeremo la pagina delle opzioni

e ora potete scaricare il codice da github


Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Trasferimento server to server (LINUX) della casella email

Oggi ho scoperto un tool veramente molto utile per il trasferimento server to servevr delle caselle email. Ed è acnhe veloce.
Si chiama imapsync [rif: https://imapsync.lamiral.info/ ]In pratica il tool da linea di comando si connette via imap al server email precedente e trasporta tutto al server di destinazioneLo uso quando faccio migrazioni di vps.Come funziona imapsync per sincronizzare e emailInternet è una risorsa. Da questo blog ho preso tutte le indicazioni https://www.jverdeyen.be/ubuntu/imapsync-on-ubuntu/Uso una distribuzione ubuntu 14.04. Non esiste un pacchetto precompilato da installare. imapsync si basa su perl. Ve lo ricordate? Mica è andato in disuso.Primo: si installano le dipendenze di imapsync per la migrazione mail server to serversudo apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl Secondo: si scarica i…

Creare un ambiente di sviluppo PHP SYMFONY MYSQL DOCKER

Preferisco Docker a Vagrant, più leggero. Ognuno naturalmente ha le sue preferenze.
Docker lo trovo più facile e veloce da configurare.
Non conosci Docker, vai sul sito e scoprirai un tool fantastico per "virtualizzare" le macchine, anche se non è il termine corretto.
Docker crea un contenitore all'interno del tu S.O. senza però virtualizzare l'infrastruttura hardware.
A me piace sviluppare con Symfony: W Symfony2!

[update: ho trovato questa serie di post nuovi per lo sviluppo con symfony su docker
https://blog.vandenbrand.org/2016/02/03/developing-symfony-applications-with-docker-series-part-i-getting-started/
]