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


Commenti

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

Develop Prestashop Module - puntata 1 creazione di un modulo prestashop

la creazione o lo sviluppo di un modulo   Prestashop funziona sia per il front-end che il back-end del sistema la struttura di un modulo è fissa che si compone con una serie di step: file di configurazione file di installazione files controllers per l'amministrazione files controllers per il frontend files delle view creazione dell'infrastruttura base del modulo per Frontend all'interno della cartella modules di prestashop creare una cartella  esempio     <root>          |---modules                    |-----miomodulo naturalmente il nome del modulo lo potete personalizzare all'interno della cartella miomodulo  creare i seguenti file config.xml index.php miomodulo .php   <-- inserite il vostro nome modulo al posto di mio modulo index.php il codice di index php , file che dovrà essere inserito in ogni cartella : <?php /* ...

Prestashop: override PayPal about.tpl

Abbiamo incontrato una difficoltà nell'override del template "about.tpl" di PayPal su Prestashop. Abbiamo cercato sul forge di Prestashop e abbiamo trovato questo bug . Ora il consiglio che viene dato è quello di utilizzare il "core display method". Così dopo un po' di debug l'abbiamo fatto. Per abilitare all'override l'"about.tpl" di Prestashop è necessario modificare il file "modules/paypal/backaward_compatibility/Display.php": <?php /**  * Class allow to display tpl on the FO  */ class BWDisplay extends FrontController { // Assign template, on 1.4 create it else assign for 1.5 public function setTemplate($template) { if (_PS_VERSION_ >= '1.5') parent::setTemplate($template); else $this->template = $template; } // Overload displayContent for 1.4 public function displayContent() { parent::displayContent();                 echo Module::display('paypal', ...