Google Toolbar
API di Google Toolbar

Guida alla creazione di pulsanti personalizzati per Google Toolbar 4 per Internet Explorer

Questo documento descrive la procedura di creazione di pulsanti personalizzati. I pulsanti personalizzati funzionano attualmente solo in Internet Explorer.

Indice

Riferimento
  • Riferimento XML
  • Caratteri escape
  • Riferimento variabili
  • Introduzione

    Che cos'è un pulsante personalizzato?

    Il pulsante personalizzato è un pulsante che puoi aggiungere a Google Toolbar, dotato di funzionalità di navigazione, ricerca, invio e aggiornamento personalizzate. È noto che un pulsante di ricerca personalizzato può utilizzare il motore di ricerca di gran parte dei siti web e non solo quello di Google.

    Quando si fa clic su un pulsante di ricerca, esso deve essere in grado di effettuare le seguenti operazioni:

    • Navigare a un sito web, come con un segnalibro
    • Navigare a un sito web e avviare il motore di ricerca di tale sito, per cercare il testo digitato dall'utente nel campo di ricerca della Toolbar. Ad esempio, un pulsante Wikipedia consente di accedere a wikipedia.org e di cercare il termine da te inserito. Esso può accedere a una serie di siti web specifici per lingua in base alla lingua della Toolbar.
    • Inviare il testo correntemente selezionato nel browser a un servizio, ad esempio per comporre una nuova email, la voce di un blog o un messaggio di testo
    • Aggiornare la propria icona, la descrizione comandi e l'elenco a discesa di icone e stringhe da un feed RSS

    Un pulsante personalizzato può avere le seguenti caratteristiche di interfaccia utente:

    • Un'icona che rappresenta il sito web al quale il pulsante consente di accedere o l'azione che esso consente di eseguire (<icon>). Questa icona può essere aggiornata da un feed RSS (<feed>).
    • Un elenco a discesa di icone e stringhe (accessibile mediante clic su un pulsante freccia giù), che può essere aggiornato da un feed RSS, come ad esempio i titoli di un feed di notizie (<feed>).
    • Una descrizione comando, che appare temporaneamente quando il puntatore del mouse si trova sul pulsante (<description>).
    • Un titolo facoltativo che può comparire accanto al pulsante (<title>).

    Oltre alle proprietà relative alle caratteristiche di interfaccia utente sopra descritte, un pulsante personalizzato può avere le seguenti proprietà (salvate in un file XML) che consentono di eseguire le operazioni sopra indicate:

    • Un URL di un sito web che viene aperto nel browser quando si fa clic sul pulsante con il campo di ricerca vuoto (<site>)
    • Un URL di ricerca che punta a un sito web che viene aperto nel browser e nel quale verrà effettuata la ricerca se si farà clic sul pulsante con un termine di ricerca inserito nell'apposito campo (<search>)
    • Un URL di invio che punta a un sito web che viene aperto nel browser e al quale verrà inviato il testo correntemente selezionato (<send>)
    • Un URL di aggiornamento, dal quale sarà possibile accedere agli aggiornamenti del pulsante (<update>)

    La seguente barra degli strumenti mostra esempi di pulsanti personalizzati per Slashdot, Wikipedia e BBC (evidenziato). Il pulsante BBC è un feed di notizie con un elenco a discesa di titoli (come indicato dalla freccia rivolta verso il basso).

    Aggiunta di un pulsante personalizzato

    Per aggiungere o gestire pulsanti personalizzati in Google Toolbar:

    • Il metodo più semplice e più comune per aggiungere (installare) un pulsante personalizzato è fare clic su un pulsante direttamente in un sito web di un publisher e confermare l'aggiunta. In Galleria pulsanti di Google Toolbar è disponibile un elenco di tali pulsanti. Il publisher utilizza uno speciale URL di comando che richiede all'utente l'autorizzazione. Se l'utente non ha installato Google Toolbar, l'URL di comando apre la pagina di download della Toolbar.
    • Il secondo metodo consiste nel creare e aggiungere automaticamente un pulsante di ricerca personalizzato, nella cui casella di immissione del testo di ricerca l'utente fa clic destro.
    • Il terzo metodo consiste nel modificare un pulsante personalizzato utilizzando l'editor avanzato di Google Toolbar, disponibile in Impostazioni > Opzioni > Pulsanti personalizzati (scheda) > Modifica > Utilizza l'editor avanzato.
    • Il quarto metodo consiste nella creazione e installazione manuali di un pulsante personalizzato.
    • Il quinto metodo consente agli amministratori IT di pubblicare pulsanti personalizzati sui computer Windows, utilizzando una stringa dei criteri di gruppo verso un URL e con un file XML, oppure utilizzando il programma di installazione per scrivere un file destinato alla sezione dati applicazione "All Users" del file system di Windows.

    Come creare pulsanti personalizzati

    Creazione e aggiunta automatiche di un pulsante di ricerca personalizzato

    1. Apri Internet Explorer alla pagina di ricerca per la quale desideri creare un pulsante di ricerca.
      Esempio: www.wikipedia.org

    2. Fai clic con il pulsante destro del mouse sulla pagina che desideri utilizzare, seleziona "Genera ricerca personalizzata...", quindi fai clic su "Aggiungi".

    Risultato: il pulsante personalizzato viene installato ed è immediatamente disponibile per l'uso.

    Dietro le quinte, questa procedura crea un file XML per il pulsante personalizzato con un'icona e lo salva con un nome frammentato in:

    C:\Documents and Settings\larry\Local Settings\Application Data\Google\Custom Buttons\

    Questo approccio presenta un vantaggio rispetto alla creazione manuale di un pulsante di ricerca personalizzato, in quanto è utile per i siti web che utilizzano richieste POST complesse o reindirizzamenti che rendono difficile determinare l'url-template.

    File XML di un pulsante personalizzato

    Le proprietà e il comportamento di un pulsante personalizzato sono definiti in un file XML con un elemento <custombuttons> il cui spazio dei nomi è impostato su "http://toolbar.google.com/custombuttons/" con un elemento <button> nidificato. Il pulsante personalizzato più semplice utilizza <site>, che definisce un link a un sito web. Il seguente codice XML dà origine a un pulsante che, quando si fa clic su di esso, apre il sito http://www.wikipedia.org nella finestra del browser corrente:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
    
      <button>
        <site>http://www.wikipedia.org</site>
      </button>
    </custombuttons>
    
    NOTA. È consentito includere nuove righe e nuovi spazi in qualsiasi punto delle stringhe dell'URL nel file XML; la Toolbar le estrae quando interpreta il file. Ciò significa che devi verificare se l'URL richiede degli spazi (e non vuoi che vengano estratti), quindi devi sostituirli con "%20" (se il browser non lo ha già fatto). Molti dei seguenti esempi mostrano l'URL digitato su due righe con una nuova riga al centro dell'URL (struttura che funziona bene).
    NOTA. In tutti gli esempi di questa guida, cambia solo la porzione di codice XML all'interno dell'elemento <button>.

    Creazione e installazione manuali di un pulsante personalizzato

    Per installare un pulsante personalizzato in Google Toolbar:

    1. Crea un file XML per il pulsante come indicato nelle sezioni precedenti (e seguenti).
    2. Salva il file XML del pulsante in:

      C:\Documents and Settings\username\Local Settings\Application Data\Google\Custom Buttons\filename.xml

      dove username corrisponde al tuo nome di accesso a Windows e filename al nome che decidi di assegnare al file XML.

      Nel nostro esempio riguardante Wikipedia, per il nome di accesso "larry", salva il file XML del pulsante in:

      C:\Documents and Settings\larry\Local Settings\Application Data\Google\Custom Buttons\wikipedia.xml

    3. Quindi apri una nuova finestra di Internet Explorer con Google Toolbar 4.0 installata. Viene visualizzato un nuovo pulsante con il simbolo di un punto interrogativo, come illustrato nella schermata seguente; facendo clic sul punto interrogativo, si apre il sito di Wikipedia.

    Aggiunta di un titolo e di una descrizione comando per il pulsante

    Come indicato di seguito, utilizza <title> per aggiungere un titolo al pulsante. Il titolo può comparire a destra di un pulsante (Impostazioni > Opzioni > Altro > Descrizioni dei pulsanti > Tutte le descrizioni) e identifica il pulsante nell'elenco dei pulsanti personalizzati (Impostazioni > Opzioni > Pulsanti personalizzati). Se si tratta di un pulsante di ricerca, il titolo deve essere univoco tra i titoli di tutti i tuoi pulsanti personalizzati di ricerca, in quanto corrisponde anche al nome del pulsante nel campo di ricerca di Google Toolbar. Ad esempio, l'utente può accedere al campo di ricerca con Alt-G, premere la freccia giù per aprire il menu dei motori di ricerca, quindi digitare "w" nel campo di ricerca per selezionare il motore di ricerca "wikipedia".

    Utilizza <description> per aggiungere una descrizione comando.

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <site>http://www.wikipedia.org</site>
    
        <title>Wikipedia</title>
        <description>The Free Encyclopedia</description>
      </button>
    </custombuttons>
    

    Pulsante di ricerca personalizzato

    Google Toolbar consente inoltre di creare un pulsante per avviare il motore di ricerca di gran parte dei siti web utilizzando il termine digitato dall'utente nel campo di ricerca della Toolbar. I successivi due esempi includono un pulsante per eseguire ricerche in wikipedia.org utilizzando il motore di ricerca di Wikipedia e un altro pulsante per eseguire ricerche in Internet utilizzando il motore di ricerca di Google.

    Per fare ciò, aggiungi un elemento di ricerca in formato <search> url-template </search> al file XML del pulsante. Includi un URL di ricerca utilizzando la variabile {query}, come indicato nei seguenti esempi. Entrambe le query GET e POST sono possibili (specificate mediante l'attributo method); GET è l'impostazione predefinita. L'URL deve basarsi su http: o https:; javascript: non è ammesso. Tre caratteri in url-template devono essere convertiti in caratteri escape: minore di (<), maggiore di (>) ed E commerciale (&).

    NOTA. Un elemento <search> deve contenere una variabile {query}, altrimenti il pulsante non verrà visualizzato.

    Pulsante personalizzato per le ricerche con Wikipedia

    Ad esempio, per creare un pulsante che consenta di effettuare ricerche in wikipedia.com utilizzando il motore di ricerca di Wikipedia, inizia con la più semplice ricerca Wikipedia di un termine qualsiasi, ad esempio "dog": http://en.wikipedia.org/wiki/Special:Search?search=dog&fulltext=Search. Anziché cercare il termine digitato dall'utente nel campo di ricerca della Toolbar, sostituisci "dog" con "{query}" e converti in carattere escape la E commerciale (&) nel seguente modo:

    <search>http://en.wikipedia.org/wiki/Special:Search?search={query}&amp;fulltext=Search</search>
    
    

    Aggiungendo questo elemento di ricerca al pulsante precedente, si ottiene il seguente risultato:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <site>http://www.wikipedia.org</site>
    
        <title>Wikipedia</title>
        <description>The Free Encyclopedia</description>
        <search>http://en.wikipedia.org/wiki/Special:Search?search={query}&amp;fulltext=Search</search>
    
      </button>
    </custombuttons>
    

    Tieni presente che la E commerciale (&) nell'URL è convertita in carattere escape come "&amp;". Nelle stringhe dei file XML, i caratteri E commerciale (&), minore di (<) e maggiore di (>) devono essere convertiti in caratteri escape.

    Pulsante personalizzato per le ricerche con Google

    Per creare un pulsante che consenta di effettuare ricerche in Internet utilizzando il motore di ricerca di Google, inizia con la più semplice ricerca Google di un termine qualsiasi, ad esempio "dog": http://www.google.com/search?q=dog. Quindi sostituisci "dog" con "{query}" nel seguente modo:

    <search>http://www.google.com/search?q={query}</search>
    

    Ecco un esempio:

    Ricerca Slashdot

    <search>http://slashdot.org/search.pl?query={query}</search>
    

    Invia azione di ricerca come POST

    Per inviare azioni di ricerca come POST anziché come GET, includi un attributo method="post" nell'elemento di ricerca. Tutti gli elementi successivi all'ultimo punto interrogativo "?" verranno inviati come dati "post" del modulo con codifica www-url. È possibile che un sito web utilizzi dati con codifica form, che al momento non sono supportati, anziché dati con codifica url. È possibile inoltre inviare contemporaneamente parametri CGI e dati "post"; per fare ciò, utilizza due simboli di punto interrogativo "?".

    Ricerca Onion

    Questo esempio utilizza un metodo di "post" per inviare dati "post" (evidenziati):

    <search method="post">http://www.theonion.com/content/search/node
            ?edit%5Bkeys%5D={query}</search>
    

    Aggiornamento di un pulsante personalizzato

    L'URL di download utilizzato per ospitare il file XML del pulsante diventa l'ID univoco del pulsante stesso e serve per l'aggiornamento di quest'ultimo. Se si effettua un secondo tentativo di scaricamento di un pulsante dallo stesso URL, la Toolbar consentirà solo di sostituire quello precedente e non di aggiungerne uno nuovo.

    Dei cinque metodi per aggiungere un pulsante, il primo e l'ultimo consentono di sapere automaticamente da dove dovrebbero provenire i relativi aggiornamenti; qualsiasi valore <update> scritto nel file XML viene quindi ignorato. Per quanto riguarda gli altri tre modi, puoi specificare l'elemento <update> nel file XML per indicare al pulsante dove cercare i propri aggiornamenti.

    <update>http://buttons.com/updated_button.xml</update>
    

    Opzioni del pulsante

    Un pulsante può specificare una stringa di opzione definita a livello locale mediante il tag <option>, facilmente modificabile dall'utente nella finestra di dialogo delle impostazioni della Toolbar. Ciò risulta utile, ad esempio, nel caso di un pulsante meteo per specificare un codice postale o di un pulsante di borsa per specificare il simbolo di un titolo. Ad esempio:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Weather</title>
        <option>
    
          <title>Zip code</title>
          <description>Enter a US zip code.  For example, 94043 is Mountain View, CA</description>
          <default>94043</default>
        </option>
    
        <site>http://www.google.com/search?q=weather+{option1}</site>
      </button>
    </custombuttons>
    

    Il titolo dell'opzione è obbligatorio, mentre l'impostazione predefinita e la descrizione sono facoltativi. Utilizza la variabile {option1} all'interno di qualsiasi specifica di modello url per inserire il testo dell'utente.

    In questa fase non avviene alcuna convalida o eliminazione di spazi vuoti dei dati immessi e la variabile {option1} convertirà in formato escape qualsiasi carattere inserito dall'utente utilizzando la conversione escape dei parametri utf-8 e cgi, come se si trattasse di una casella di modifica testo nell'invio di un modulo.

    Inserimento dell'URL corrente

    Oltre a inviare la query di ricerca, puoi anche specificare l'URL corrente visualizzato dal browser in tre modi diversi: {url} con codifica, {url.noescape} senza codifica o {url.host} solo il sito web.

    Questo esempio utilizza {url.noescape} per inviare l'URL corrente ad archive.org e cercare una versione precedente della pagina corrente; archive.org richiede l'URL in formato non escape:

    <site>http://web.archive.org/web/*/{url.noescape}*</site>
    

    Nel seguente esempio, viene eseguita la stessa operazione di ricerca in archive.org ma utilizzando {url}:

    <site method="post">http://www.archive.org/searchresults.php?search={url}&amp;mediatype=mediatype&amp;Submit=Submit</site>
    

    Inoltre, se desideri utilizzare il motore di ricerca di Google per effettuare ricerche all'interno del sito web corrente, utilizza {url.host}, una potente scorciatoia che non è tuttavia disponibile sul sito web di Google.

    <search>http://www.google.com/search?q=site:{url.host}+{query}</search>
    

    Inserimento del suffisso del dominio Google

    Google Toolbar dispone di una variabile {domain} che consente di ottenere il dominio, ad esempio com o co.uk. Il dominio di ricerca è reperibile in Google Toolbar in Impostazioni > Opzioni > scheda Cerca > Usa sito Google ed è la stringa successiva al termine "google.".

    È consigliabile utilizzare la variabile {domain} anziché codificare la stringa di dominio. Una ricerca Google dovrebbe quindi essere scritta nel seguente modo:

    <search>http://www.google.{domain}/search?q={query}</search>
    

    Invio del testo selezionato dall'utente

    Puoi inoltre fare in modo che un pulsante personalizzato invii una porzione di testo normale selezionato dall'utente nella pagina web. Ciò potrebbe risultare utile per un servizio di traduzione o possibilmente per un'applicazione di blogging o di messaggistica. Quando viene selezionato del testo, compare una piccola icona di testo sull'icona del pulsante personalizzato.

    Questa operazione richiede l'elemento <send>. La destinazione dell'URL dell'operazione <send> può essere diversa dalla destinazione di <search>. Il tag <send> deve includere la variabile {selection}, che punta al testo normale correntemente selezionato nel browser:

    <send>http://www.google.com/search?hl=en&amp;lr=&amp;q=define%3A+{selection}</send>
    

    I pulsanti personalizzati con operazioni "send" compariranno inoltre nel menu di scelta rapida del browser visualizzabile con un clic destro del mouse quando è selezionato del testo.

    Verifica dell'esistenza di una variabile

    Man mano che la Toolbar si evolve, è possibile implementare altre variabili URL. Per garantire la compatibilità di queste nuove variabili con versioni successive e precedenti della Toolbar, la sintassi {a?b:c} sarà disponibile in tutti i parser che riconoscono i pulsanti personalizzati, con la seguente semantica:

    {param_to_be_tested?use this text if the param is implemented:use this text if not}
    

    In altri termini, essa consente all'autore di un pulsante personalizzato avanzato di utilizzare in tutta sicurezza una nuova funzione, permettendo la compatibilità con i vecchi parser che non sono a conoscenza della nuova funzione. Ad esempio, supponiamo che la variabile {locale} sia appena stata introdotta. Si potrebbe utilizzare un modello URL come il seguente per garantire l'assenza di effetto sulle precedenti Toolbar:

    <site>http://www.google.com/{locale??hl={locale}}</site>
    

    Se la Toolbar supportasse la variabile {locale}, il risultato sarebbe:

    <site>http://www.google.com/?hl=en</site>
    

    Altrimenti:

    <site>http://www.google.com/</site>
    

    Puoi nidificare le espressioni {a?b:c} fino a 10 livelli di profondità, a condizione che la nidificazione avvenga dopo il punto interrogativo "?". Il seguente esempio è corretto:

    <site>http://www.google.com/{locale??hl={domain?{domain}:{query}}}</site>
    
    

    È opportuno notare inoltre che ogni qualvolta si utilizza un carattere escape non riconosciuto, il parser sostituisce una stringa vuota. Pertanto, Cia{blah}o a tutti. risulterebbe Ciao a tutti. Inoltre, se è presente un numero non bilanciato di caratteri parentesi graffe "{" o "}" o qualsiasi altro problema di analisi, l'intero URL verrà reimpostato su una stringa vuota.

    Come creare icone attraenti

    Gran parte delle icone utilizzate come favicon possono essere utilizzate anche come icone dei pulsanti personalizzati. Sono comprese le immagini BMP, ICO, GIF e JPEG 16 x 16. È sufficiente codificarle in testo ASCII utilizzando la codifica base64. Su Internet esistono diversi siti che eseguono la codifica, ad esempio, questo. Su questo sito, utilizza il pulsante "Browse..." (Sfoglia) per selezionare il file che desideri codificare, quindi fai clic sul pulsante "Convert the source data" (Converti i dati di origine) per iniziare la codifica. Anche Javascript e PHP presentano comandi a riga singola per la codifica base64.

    Ecco un'icona Gmail in base64; utilizza un elemento <icon>:

        <icon mode="base64" type="image/x-icon">
    AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ONr/ODja/6en+f+np/n/p6f5/6en+f+np/n/p6f5
    /6en+f+np/n/p6f5/6en+f+np/n/p6f5/zg42v84ONr/ODja/zg42v/i4v//////////////////
    /////////////////////////////////////+Li//84ONr/ODja/zg42v84ONr/p6f5/+Li////
    /////////////////////////////////////////+Li//+np/n/ODja/zg42v84ONr/ODja/+Li
    //+np/n/4uL/////////////gYHy/4GB8v///////////+Li//+np/n/4uL//zg42v84ONr/ODja
    /zg42v//////4uL//6en+f+2tv//gYHy/1pa6f9aWun/gYHy/7a2//+np/n/4uL///////84ONr/
    ODja/zg42v84ONr///////////+2tv//gYHy/1pa6f84ONr/ODja/1pa6f+BgfL/trb/////////
    ////ODja/zg42v84ONr/ODja////////////gYHy/1pa6f84ONr/trb//7a2//84ONr/Wlrp/4GB
    8v///////////zg42v84ONr/ODja/zg42v//////gYHy/1pa6f84ONr/trb/////////////trb/
    /zg42v9aWun/gYHy//////84ONr/ODja/zg42v84ONr/gYHy/1pa6f84ONr/trb/////////////
    //////////+2tv//ODja/1pa6f+BgfL/ODja/zg42v84ONr/ODja/zg42v84ONr/trb/////////
    /////////////////////////7a2//84ONr/ODja/zg42v84ONr/ODja/zg42v84ONr/gYHy/6en
    +f+np/n/p6f5/6en+f+np/n/p6f5/6en+f+np/n/gYHy/zg42v84ONr/ODja/wAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAA//8AAP//AAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAD//wAA//8AAA==
        </icon>
    

    Le icone dei pulsanti personalizzati possono avere dimensioni maggiori di 16 x 16, ma la Toolbar le riduce in scala 16 x 16; pertanto, oltre ad essere più grandi del necessario, non avranno affatto l'aspetto che avrebbero se fossero state scalate da te mediante un editor immagini di alta qualità.

    Le icone più belle sono quelle create utilizzando colori RGB (a 24 bit) e colori alfa (a 8 bit) e salvate come icone RGBA tipo XP. Puoi salvare l'icona come PNG 16 x 16 con alfa trasparenza, quindi convertirla in un'icona 16 x 16 tipo XP (utilizzando un programma come IconWorkshop) e infine codificarla in base64. I file PNG non sono supportati direttamente in quanto Windows non supporta i file PNG a livello nativo senza collegarli a numerosi altri elementi.

    Il motivo per cui devi utilizzare un canale alfa è perché non tutti gli utenti impostano lo sfondo della Toolbar sullo stesso colore grigio, argento o beige del tuo. Windows XP consente agli utenti di personalizzare lo schema dei colori, inclusi gli sfondi della Toolbar. Potresti risolvere il problema creando un'icona quadrata senza parti trasparenti, ma in tal caso non avrà un aspetto altrettanto interessante. I canali alfa a colori singoli, come le immagini GIF, avranno bordi esterni arrotondati di aspetto granuloso rispetto a un'icona correttamente creata con la miscela di colori alfa, come quelle di Google Toolbar o Internet Explorer stesso.

    Aggiornamento automatico delle icone e delle descrizioni comandi

    Una delle operazioni più interessanti che può eseguire un pulsante personalizzato è l'aggiornamento a intervalli specifici della propria immagine e della propria descrizione comando da un server remoto. Per effettuare l'aggiornamento, viene utilizzato un feed RSS. In tal modo, un pulsante può essere utilizzato come dispositivo di notifica o come icona di stato (ad esempio, le previsioni meteorologiche o qualsiasi altra cosa puoi immaginare). Un pulsante può avere inoltre un menu a discesa con singole voci con testo o icone. Ogni voce di menu può avere il proprio URL dinamico che viene lanciato facendo clic su di esso. Nella sezione successiva sono riportati alcuni esempi.

    Aggiunta di un feed RSS

    I feed RSS utilizzano l'elemento <feed>. Di seguito è riportato un esempio di un feed di notizie della CNN.

    <feed refresh-interval="1800">http://rss.cnn.com/rss/cnn_topstories.rss</feed>
    

    Il protocollo per ottenere questi feed di aggiornamento è Atom 1.0, Atom 0.3, RSS 2.0 o RSS 1.0. In genere funzionano anche i feed standard.

    Uso di un feed per aggiornare l'icona/la descrizione comando del pulsante

    Per aggiornare l'icona sulla Toolbar o la relativa descrizione comando da un feed, occorre aggiungere a RSS o ad ATOM un'estensione specifica per barra degli strumenti utilizzando uno spazio dei nomi. Ecco un esempio di un pulsante "mood ring" (anello dell'umore) ricavato da un feed:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Mood ring</title>
        <description>Your virtual mood ring</description>
    
        <site>http://www.google.com/search?q=mood+ring</site>
        <feed menu="false" refresh-interval="900">
              http://www.example.com/custombuttons/samples/feeds/mood</feed>
      </button>
    </custombuttons>
    
    

    Esso specifica menu="false" per indicare che questo feed viene utilizzato solo per aggiornare l'icona e la descrizione comando e non per popolare un menu a discesa di voci secondarie.

    Se esso fosse impostato su un server effettivo, il risultato del feed avrebbe il seguente aspetto:

    <?xml version='1.0'?>
    <feed xmlns='http://www.w3.org/2005/Atom' 
        xmlns:gtb='http://toolbar.google.com/custombuttons/'>
    <id>http://www.example.com/custombuttons/samples/feeds/mood</id>
    
    <title>Mood</title>
    <link href='http://www.google.com/search?q=+ring' />
    <link rel='self' 
        href='http://www.example.com/custombuttons/samples/feeds/mood' />
    <gtb:description>Bluegreen:
    Inner emotions charged, somewhat relaxed</gtb:description>
    <gtb:icon mode="base64" type="image/x-icon">
    AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
    AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAGAAAAHAAAAEAAAABhAAAAcwAAAHQAAABpAAAAVQAAAD4AAAApAAAAGAAAAAoAAAAD
    AAAAAQAAAAAAAAAAAAAAESZIXl4zdJvAXbHS8m3C3f9LnrrLFUtsmwILEX4AAABzAAAAYQAAAEcA
    AAAqAAAAEwAAAAcAAAACAAAAACs9RTNOjrDtW6nS/53u/f+n/P//hej//2bP/P9Fq93wHGaNrxEv
    O4kAAAB6AAAAXwAAADwAAAAfAAAADAAAAANihaWST6XK/0h/kcAdKCyWKTtAgVJ/kIhytNKse873
    9E+w6v9RuN39SXuJpgQHCIoAAAB2AAAAUQAAACsAAAAPb6nU7mK65v9jqs76KkNPqAUICJoAAACE
    AAAAaxUgJWBkrMiwsvv+//D+/v+y1NniIj1FnAAAAIgAAABcAAAALHS74PV1zPn/c835/1Oezv9N
    iq7vNVRjrxUiJ5kBAgORAQICh3uLjZz3+vr1+f///4PL5/wvVmusAAAAigAAAFNyu+TPdtL8/0Cp
    7v8ng8X/CFOH/ytpjv86gJ//R46z+Th6jsovVmCsd56pxNf2/f9TuPH/W7fs/ypGV6UAAAByf77Y
    r02y7P9Zwfb/puH3/y+AtP8jZ5f/KWKH/0p7hP+ZrVr/zcUt/9vMKf/bzSz/tsBP/3OzrP9kl7Pp
    AAAAgHGdpThatuT/0fn+//b///+V0uv/NICu/4mvfP/czjL/3M0v/9rMKP/dzzT/3c83/9vNLf/b
    zS//nrWA/gAAAIMAMzMFbrrd2d/+///5////t+n6/4q6nf/czzX/3tA+/97QPf/czjP/3dA7/97R
    Qv/czjD/3M4z/9DHLPoAAAB/AAAAAWShtUix5+//5v7+/5Hf7//Bvjn/3M0v/9/SSP/g1FL/39RR
    /+DVWv/e0kf/3tFA/9zNL//bzCj/AAAAbwAAAAAAAAADcq7Fmpzo8f9rsL3/2ssl/93POf/f0kj/
    49pu/+ffhP/q45b/49pp/97SSv/czS//yb0q4wAAAE8AAAAAAAAAAF54hhNrq77BXpCj/7+7Of/c
    zjH/3tFH/+bdeP/w7cv/9PLa/+zlnf/g1VP/1so5/mBfJHsAAAArAAAAAAAAAAAAAAABa5GgIHWs
    t/dymG3/3tE//9/UUv/o4Ij/9PHT//v67P/v6a3/08xY/3uMX6UAAAAuAAAAEAAAAAAAAAAAAAAA
    AAAAAAKSvb9YSoWa+WyagP+wv2X/4NRO/+ngfv/m4Zf/rLeB+lpubIkAAAAlAAAADgAAAAMAAAAA
    AAAAAAAAAAAAAAAAAAAAAoqvuDxkkp2gYo+c51mHkv9lk5v/Y4eNtlBfaEgAAAAWAAAACQAAAAIA
    AAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAMAA
    AADgAAAA8AEAAA==
    </gtb:icon>
    
    </feed>
    

    L'esempio sopra riportato è un feed Atom 1.0, in cui lo spazio dei nomi dei pulsanti personalizzati di Google è indicato come segue:

    xmlns:gtb='http://toolbar.google.com/custombuttons/'
    

    Per sovrascrivere la descrizione comando associata al pulsante, specifica:

    <gtb:description> new-description </gtb:description>
    
    

    Per sovrascrivere l'icona associata al pulsante, specifica:

    <gtb:icon> icon-base64-code </gtb:icon>
    

    Lo script PHP che aziona questo complesso sistema di analisi del "mood" (umore) ha il seguente aspetto:

    <?php
    
    header('Content-type: text/xml');
    
    switch(rand(1, 7)) {
      case 1:
        $icon = "amber.ico";
        $desc = "Amber:\nNervous, on edge, uncertain";
        break;
    
      case 2:
        $icon = "black.ico";
        $desc = "Black:\nTense, stressed, working too hard";
        break;
    
      case 3:
        $icon = "blue.ico";
        $desc = "Blue:\nComfortable, breeze, at rest, loveable";
        break;
    
      case 4:
        $icon = "bluegreen.ico";
        $desc = "Bluegreen:\nHeightened inner emotional state, moderately relaxed";
        break;
    
      case 5:
        $icon = "gray.ico";
        $desc = "Gray:\nAnxious, ill at ease, strained";
        break;
    
      case 6:
        $icon = "green.ico";
        $desc = "Green:\nSteady, stable, no emotional turmoil";
        brea;
    
      case 7:
        $icon = "purple.ico";
        $desc = "Dark Blue:\nImpassioned, delighted, whiff of romance";
        break;
    }
    
    $icon = base64_encode(file_get_contents($icon));
    
    echo "<?xml version='1.0'?>";
    echo "\n<feed xmlns='http://www.w3.org/2005/Atom' xmlns:gtb='http://toolbar.google.com/custombuttons/'>";
    echo "\n<id>http://www.example.com/custombuttons/samples/feeds/mood</id>";
    echo "\n<title>Mood</title>";
    echo "\n<link href='http://www.google.com/search?q=$mood+ring' />";
    echo "\n<link rel='self' href='http://www.example.com/custombuttons/samples/feeds/mood' />";
    echo "\n<gtb:description>$desc</gtb:description>";
    echo "\n<gtb:icon mode='base64' type='image/x-icon'>$icon</gtb:icon>";
    echo "\n</feed>";
    
    ?>
    
    

    Le icone devono trovarsi nella stessa cartella dello script.

    Uso di un feed per aggiornare le icone del pulsante e del menu a discesa

    Puoi aggiungere inoltre icone personalizzate basate su server alle singole voci del menu a discesa del feed. Ecco un esempio di un pulsante meteo con un feed dotato di un menu a discesa (predefinito), che specifica anche refresh-menuitem="false" per nascondere la voce del menu di aggiornamento ogni volta che viene effettuata una connessione al server con esito positivo. In tal modo si ottiene un aspetto più chiaro.

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Weather 94043</title>
        <description>Weather updates for Mountain View, CA</description>
    
        <site>http://www.google.com/search?q=weather+94043&num=1</site>
        <feed refresh-interval="3600" refresh-menuitem="false">
            http://www.example.com/custombuttons/samples/feeds/weather?zip=94043</feed>
      </button>
    
    </custombuttons>
    

    Di seguito è riportato un esempio del feed meteo, con un'icona personalizzata accanto a ogni voce del menu a discesa (gran parte degli elementi codificati in base64 sono stati eliminati per maggiore chiarezza). In base all'esempio precedente, esso sarebbe visualizzabile in: http://www.example.com/custombuttons/samples/feeds/weather?zip=94043

    <?xml version='1.0'?>
    <feed xmlns='http://www.w3.org/2005/Atom' 
        xmlns:gtb='http://toolbar.google.com/custombuttons/'>
    <id>http://www.example.com/custombuttons/samples/feeds/weather</id>
    
    <title>Weather Mountain View, CA</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <link rel='self'
        href='http://www.example.com/custombuttons/samples/feeds/weather' />
    <gtb:description>Mountain View, CA
    63F Mostly Cloudy
    Humidity: 48%
    Wind: NW at 8 mph</gtb:description>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
    tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
    ... and so on...
    </gtb:icon>
    
    <entry>
    <title>Today: Mostly Cloudy 65 | 50</title>
    
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/0</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAEuc/Pz8/Fik/Ii00k9daZGPivLy8tbW1k2R0uvr6wZj3HSq0f/QMMfHx7a2
    tj2F0fu0EePj4yx81neUp4J/eKanphJq3IJtOGB3iI3C5BFt5B5XnWis7H2346jO5/6+IWKo8923
    ... and so on...
    </entry>
    
    <entry>
    <title>Thu:  66 | 51</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/1</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoAPcAAAAAAP///4WOwPT1+tDT3unr8sHG1ff5/6Wy0mZ8rGqAr3mJrJakxa+zvHSK
    tcDBw1R2slBql110njBXjztmqS9OfjtekTZWhGeJuoqctklLTgJYyQJQtQ9hzhRr3BZlzBVRoS1S
    ... and so on...
    </gtb:icon>
    
    </entry>
    
    <entry>
    <title>Fri:  67 | 51</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    <id>http://www.example.com/custombuttons/samples/feeds/weather/2</id>
    <gtb:icon mode='base64' type='image/x-icon'>
    
    R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
    Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
    ... and so on...
    </gtb:icon>
    </entry>
    <entry>
    <title>Sat:  67 | 50</title>
    <link href='http://www.google.com/search?q=weather+94043/' />
    
    <id>http://www.example.com/custombuttons/samples/feeds/weather/3</id>
    
    <gtb:icon mode='base64' type='image/x-icon'>
    R0lGODlhKAAoANUAAObm52ms7k2Q0Uuc/Fmk+v2zDoS01HOp0avP5tvb26CPXQZj3DqG14yLh05Y
    Yf/IKv/VN3mCiMPDw6SkpCt82GhxePz8/JG+2pd5NRZu3hBq3fb29rCAFrm5uSN549OWE4WltqHI
    ... and so on...
    </gtb:icon>
    </entry>
    </feed>
    

    Puoi utilizzare gli stessi tag dello spazio dei nomi e della descrizione o dell'icona "http://toolbar.google.com/custombuttons/" nei feed RSS 1.0, RSS 2.0, Atom 1.0 e Atom 0.3 anche per i feed della Toolbar.

    Più lingue

    Un pulsante personalizzato è in grado di gestire URL, icone e testo alternativi a seconda della lingua specifica della Toolbar. Di seguito sono riportati i due metodi per effettuare questa operazione, il primo dei quali è quello consigliato.

    Uso dell'attributo lingua

    Il metodo consigliato consiste nel creare un elenco di tag XML, ciascuno dei quali che utilizza un attributo locale="iso-name" con iso-name per le lingue di interesse. Ecco un esempio di un pulsante con URL e descrizioni alternative in francese e spagnolo:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
      <button>
        <title>Wikipedia</title>
        <site>http://www.wikipedia.org</site>
    
        <site locale="fr">http://fr.wikipedia.org</site>
        <site locale="es">http://es.wikipedia.org</site>
        <description>The Free Encyclopedia</description>
    
        <description locale="fr">L'encyclopdie libre</description>
        <description locale="es">La enciclopedia libre</description>
      </button>
    </custombuttons>
    
    

    Se le lingue correnti della Toolbar non sono reperibili direttamente nel tag XML, viene utilizzato come predefinito il primo tag dell'elenco sopra riportato.

    Uso della variabile {locale}

    Il metodo alternativo consiste nell'utilizzare la variabile {locale} integrata in un URL, ad esempio http://{locale}/wikipedia.org. Questo metodo dà ottimi risultati se l'insieme di lingue valutate viene mappato esattamente ai vari siti web disponibili (come accade per Google.com). Tuttavia, per gran parte degli utenti, ciò non accade. Un sito web potrebbe esistere per determinate lingue non ancora supportate da Google Toolbar. Ad esempio, secondo quanto dichiarato nel presente documento, benché per Wikipedia sia disponibile una versione polacca (http://pl.wikipedia.org), il polacco (pl) non è una lingua supportata dalla Toolbar a livello nativo, quindi gli utenti polacchi non riusciranno ad arrivare a tale sito web. Al contrario, la Toolbar è disponibile per la lingua portoghese brasiliano (pt-BR), ma Wikipedia non possiede un sito per tale lingua. Inoltre, se fa al caso tuo, puoi unire le istruzioni con l'attributo locale e le istruzioni con la variabile {locale}; in tal caso, il primo attributo sarà sempre il predefinito.

    Tabella dei codici lingua ISO

    Le lingue al momento supportate dalla Toolbar sono:

    Codice ISO Lingua
    en Inglese
    da Danese
    de Tedesco
    es Spagnolo
    fi Finlandese
    fr Francese
    it Italiano
    ja Giapponese
    ko Coreano
    nl Olandese
    no Norvegese
    pt-BR Portoghese (Brasile)
    ru Russo
    sv Svedese
    zh-CN Cinese (semplificato)
    zh-TW Cinese (tradizionale)

    Ospitare un pulsante personalizzato

    Dove ospitare il pulsante personalizzato

    L'URL di download utilizzato per ospitare il file XML del pulsante è abbastanza importante, in quanto diventa l'ID univoco del pulsante stesso e serve per l'aggiornamento di quest'ultimo. Se si effettua un secondo tentativo di scaricamento di un pulsante dallo stesso URL, la Toolbar consentirà solo di sostituire quello precedente e non di aggiungerne uno nuovo. Per ulteriori informazioni, consulta Aggiornamento di un pulsante personalizzato.

    Aggiunta del pulsante personalizzato alla Galleria pulsanti di Google

    L'aggiunta di un pulsante personalizzato alla Galleria pulsanti di Google è un ottimo metodo per informare tutti gli utenti del tuo nuovo pulsante. Il tuo file XML deve essere già ospitato da qualche parte (la Galleria pulsanti collega direttamente al file) e il pulsante deve essere conforme alle nostre Norme redazionali.

    Se hai creato un pulsante per un sito di tua proprietà, devi ospitare il relativo file XML nello stesso dominio del sito. I pulsanti presenti nella Galleria pulsanti di Google sono contrassegnati come "ufficiali" se sono ospitati nello stesso dominio a cui ognuno di essi accede. In tal modo, gli utenti potranno trovare facilmente il pulsante ufficiale del tuo sito.

    Una volta effettuate queste operazioni, compila il modulo di invio della Galleria pulsanti per informare Google del tuo pulsante.

    Impostazione di un link al pulsante personalizzato sul tuo sito

    Puoi rendere disponibile il tuo pulsante sul tuo sito creando un link di installazione. Quando un utente di Google Toolbar 4 fa clic sul link, gli viene richiesto di installare il pulsante. Se l'utente non ha installato una versione compatibile della Toolbar, il link aprirà la pagina di download di Google Toolbar.

    Uno sviluppatore può creare un link di installazione utilizzando la seguente sintassi URL:

    http://toolbar.google.com/buttons/add?url=url

    dove url punta al file XML del pulsante personalizzato. Di seguito è riportato un esempio di un link che consente di installare un pulsante Slashdot.com:

    <a href="http://toolbar.google.com/buttons/add?url=http://www.slashdot.org/slashdot_button.xml">Add</a>

    L'etichetta di questo link è Aggiungi. Quando un utente fa clic su questo link, viene installato un pulsante Slashdot.com nella sua Google Toolbar.

    L'URL Google sopra riportato avvia l'installazione di qualsiasi pulsante personalizzato sulla Toolbar. Se l'utente non ha installato una versione compatibile della Toolbar, gli verrà richiesto di installarla. Una volta installata la Toolbar, il pulsante personalizzato verrà aggiunto automaticamente.

    Gestione del traffico feed

    Il traffico Web dei feed può suscitare preoccupazioni. Se hai motivi di credere che il tuo pulsante diventerà popolare e registrerà un traffico elevato, il relativo feed non deve puntare a un server con larghezza di banda ridotta. Il server può risultare sovraccaricato di richieste di aggiornamento.

    Il pulsante personalizzato ha il proprio attributo refresh-interval (intervallo di aggiornamento) per i feed. La Toolbar rispetta l'ora "Expires" (di scadenza) fornita dal server nell'intestazione HTTP. Questa impostazione sovrascrive l'intervallo di aggiornamento del pulsante. Se il tuo server è sovraccarico, devi aumentare l'ora "Expires" per ridurre il carico. Ad esempio, se un pulsante è impostato per effettuare l'aggiornamento ogni ora, l'ora "Expires" può essere impostata per un aggiornamento giornaliero, che ridurrebbe drasticamente il traffico (nonostante potrebbe limitare il livello di aggiornamento del pulsante).

    Ecco un esempio di script PHP per l'impostazione dell'ora Expires su una settimana nel futuro:

    <?php
    $expires = gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 7) . " GMT";
    Header("Expires: " . $expires);
    ?>
    

    Esempio di risposta HTTP dal server :

    HTTP/1.1 200 OK
    Date: Thu, 05 Jan 2006 23:39:54 GMT
    Server: Apache/2.0.47 (Red Hat Linux)
    Accept-Ranges: bytes
    X-Powered-By: PHP/4.3.2
    Expires: Thu, 12 Jan 2006 23:39:54 GMT
    Transfer-Encoding: chunked
    Content-Type: text/html
    

    Riferimento

    Riferimento XML

    Il file XML di un pulsante personalizzato ha la seguente struttura:

    <?xml version="1.0" encoding="utf-8"?>
    <custombuttons xmlns="http://toolbar.google.com/custombuttons/">
    
      <button>
        <!-- XML elements -->
      </button>
    </custombuttons>
    

    I seguenti elementi XML possono comparire all'interno di un elemento <button>. Qualsiasi elemento (ad eccezione di <update>) può apparire più di una volta, a condizione che ciascuno di essi sia assegnato a una lingua diversa.

    <title> text </title>
    Titolo del pulsante di ricerca personalizzato visualizzabile dall'utente nell'elenco dei pulsanti personalizzati (Impostazioni > Opzioni > Pulsanti personalizzati) o eventualmente accanto al pulsante. Questo valore deve essere univoco, in quanto funge anche da parola chiave predefinita se compare come tipo di ricerca.
    Questo elemento supporta lo stesso attributo locale di <search> riportato di seguito.
    Vedi l'esempio <title>.
    <description> tooltip </description>
    Testo della descrizione comando del pulsante di ricerca personalizzato che viene visualizzato dall'utente posizionando sul pulsante il puntatore del mouse. Corrisponde anche alla descrizione visualizzata dall'utente dopo aver scaricato il pulsante da un sito web.
    Questo elemento supporta lo stesso attributo locale di <search> riportato di seguito.
    Vedi l'esempio <description>.
    <site> url </site>
    URL facoltativo al quale il browser accede quando il campo di ricerca non contiene nuovo testo. Il protocollo è limitato ad http: e https: per ragioni di sicurezza. Le seguenti variabili all'interno di questo URL verranno estese: {domain}, {url}, {url.noescape}, {url.host} e {locale}.
    L'elemento <site> supporta gli stessi attributi method e locale di <search> riportato di seguito.
    Vedi l'esempio<site>.
    <search> url-template </search>
    URL al quale il browser accede e nel quale verrà effettuata la ricerca se si farà clic sul pulsante con un "nuovo" termine di ricerca inserito nell'apposito campo ("nuovo" indica che il campo di ricerca è attivo). L'URL deve essere in formato http: o https:; javascript: non è ammesso. La variabile {query} è richiesta nel modello di ricerca (e non è ammessa in altri modelli URL). Questo elemento è facoltativo e potrebbe essere omesso se questo pulsante non dovesse comparire nell'elenco dei pulsanti di ricerca.
    L'elemento di ricerca può specificare i seguenti attributi:
    method="post"|"get"
    Il parametro predefinito è "get". Imposta questo parametro su "post" per utilizzare il metodo "post" anziché il metodo "get" quando invii dati modulo con codifica url. Il metodo di codifica deve essere applicazione/x-www-modulo-codificaurl. Quando viene eseguita una ricerca, tutto il testo che segue il punto interrogativo finale "?" verrà inviato sotto forma di dati "post".
    locale="en"|"da"|"de"|"es"|"fi"|"fr"|"it"|"ja"|"ko"|"nl"|"no"|"pt-BR"|"ru"|"sv"|"zh-CN"|"zh-TW"
    Questo attributo specifica una lingua per la quale questo elemento può fornire un URL alternativo. Includi il codice ISO della lingua, ad esempio locale="fr". In genere dovresti specificare più elementi, ciascuno con un attributo di lingua e un URL alternativo propri. Quando questo attributo viene utilizzato con altri elementi XML, può specificare un'icona o un testo diversi. Vedi gli esempi di lingue e la tabella dei codici lingua ISO.
    Vedi l'esempio <search>.
    <send> url-template </send>
    URL facoltativo al quale il browser accede quando non vi è alcun testo nel campo di ricerca e l'utente ha selezionato del testo nella finestra del browser. La variabile {selection} è richiesta nel modello di invio (e non è ammessa in altri URL).
    L'elemento <send> supporta gli stessi attributi method, charset e locale di <search> riportato sopra.
    Vedi l'esempio <send>.
    <icon> base64-encoding </icon>
    I bit effettivi di un file .ico di tipo Windows, preferibilmente un'immagine RGBA a 32 bit 16 x 16 di tipo XP, utilizzata da molti siti come file favicon.ico. Poiché si tratta di un valore binario, deve essere codificato in base64. Se non è presente alcuna icona, ne verrà scelta una predefinita. Le immagini .ico 16 x 16 di tipo XP ottenute mediante alpha-blending sono preferibili, ma vengono supportati anche i tradizionali formati ICO, JPG, BMP e GIF di dimensioni arbitrarie, i quali verranno scalati in formato 16 x 16. L'icona RGBA XP è adatta a tutti i sistemi operativi con i quali Google Toolbar è compatibile; non è quindi necessario creare un'icona alternativa a 256 colori o a 16 colori. Il formato PNG non è supportato.
    Gli attributi mode e type non sono necessari, ma potrebbero agevolare la modifica in un editor XML in grado di interpretarli:
    mode="base64"
    La codifica dell'icona.
    type="image/x-icon"
    Il tipo di immagine.
    Questo elemento supporta lo stesso attributo locale di <search> riportato sopra.
    Vedi l'esempio <icon>.
    <feed> url </feed>
    Specifica un URL per un file XML RSS 2.0 o Atom Feed 0.3/1.0. Questo elemento aggiunge la possibilità di aprire un menu a discesa con i titoli, le descrizioni e i link dei feed RSS, in modo analogo ai segnalibri RSS di Firefox, che vengono aggiornati automaticamente (non eseguiti dall'utente). Questo elemento è facoltativo e non verrà utilizzato da gran parte delle ricerche personalizzate. Anche le variabili {domain} e {locale} possono essere utilizzate nel feed.
    Questo elemento prende i seguenti attributi:
    menu="true"|"false"
    Imposta questo attributo su "false" per nascondere il menu a discesa di voci del feed. L'impostazione predefinita è "true".
    refresh-interval="secs"
    Numero di secondi di attesa prima di ricaricare il feed. L'impostazione predefinita è di 3600 secondi (1 ora). La Toolbar non si aggiorna più di una volta al minuto anche se questo valore è inferiore a 60.
    refresh-onclick="true"|"false"
    Imposta questo attributo su "true" per forzare un ricaricamento ogni volta che l'utente fa clic sul pulsante. L'impostazione predefinita è "false".
    google-service="true"|"false"
    Imposta questo attributo su "true" se si tratta di un servizio per gli account Google, vale a dire un servizio disponibile solo quando un utente ha effettuato l'accesso a Google. Quando viene rilevato l'accesso si verifica un aggiornamento, mentre l'uscita produce come effetto la cancellazione delle voci del menu.
    Questo elemento supporta lo stesso attributo locale di <search> riportato sopra.
    Vedi l'esempio <feed>.
    <feed-icon> base64-encoding </feed-icon>
    Icona alternativa da visualizzare quando il feed contiene nuovi elementi (stesso formato di <icon>). Quando un utente fa clic su un pulsante, viene nuovamente visualizzata l'icona normale fino al feed successivo. Un server feed può specificare un'icona direttamente nel feed Atom o nella risposta RSS 2.0, caso in cui <feed-icon> o <icon> avrà la seconda priorità.
    Questo elemento supporta lo stesso attributo locale di <search> riportato sopra.
    Non è incluso alcun esempio <feed-icon>, ma sarebbe simile all'esempio <icon>.
    <feed-description> tooltip </feed-description>
    Descrizione alternativa da visualizzare nella descrizione comando quando il feed contiene nuovi elementi. Quando un utente fa clic su un pulsante, viene nuovamente visualizzata la descrizione normale fino al feed successivo.
    Questo elemento supporta lo stesso attributo locale di <search> riportato sopra.
    Non è incluso alcun esempio <feed-description>, ma sarebbe simile all'esempio <description>.
    <update> url </update>
    URL dal quale questa definizione pulsante è stata scaricata e dal quale il pulsante di aggiornamento otterrà un file XML sostitutivo se l'utente fa clic sul link per eseguire l'aggiornamento (Impostazioni > Opzioni > Pulsanti personalizzati > selezionare un pulsante > Modifica > Scarica ultima versione). Questo URL verrà sovrascritto dall'URL effettivo dal quale il pulsante è stato scaricato nelle installazioni web non provenienti da google.com. Questo è l'unico elemento del pulsante personalizzato che non può avere un attributo di lingua.
    Vedi <update> example.
    <option> subelements </option>
    Specifica una stringa di opzione definita a livello locale facilmente modificabile dall'utente nella finestra di dialogo delle impostazioni di Toolbar. Il valore viene restituito nella variabile {option1}. Questo elemento può avere tre sottoelementi, il primo dei quali è obbligatorio:
    <title>
    Nome dell'opzione. L'utente vede questo nome nella finestra di dialogo delle impostazioni della Toolbar. Questo sottoelemento è obbligatorio.
    <description>
    Descrizione di questa opzione. L'utente vede questa descrizione. Ogni opzione può avere più descrizioni. Questo sottoelemento è facoltativo.
    <default>
    Valore predefinito del tag {option1}. Questo valore viene utilizzato se l'utente non inserisce alcun valore. Questo sottoelemento è facoltativo.
    Vedi l'esempio <option> .

    Caratteri escape

    Le stringhe dei file XML (e dei file HTML) richiedono che i seguenti tre caratteri siano convertiti in caratteri escape come le entità HTML visualizzate:

    Carattere Stringa escape
    & &amp;
    > &gt;
    < &lt;

    Riferimento variabili

    NOTA. Esiste una sintassi condizionale {a?b:c} per le variabili che permettono una compatibilità con versioni precedenti e successive della Toolbar. Per ulteriori informazioni, consulta Verifica dell'esistenza di una variabile.

    Le seguenti variabili, o caratteri escape, vengono utilizzate negli elementi indicati nel campo di applicazione specificato. Ad esempio, {query} può essere utilizzata solo nell'elemento <search>.

    {query}
    Punta alla stringa digitata dall'utente nel campo di ricerca della Toolbar, con il segno più "+" come carattere di escape per gli spazi, caratteri di escape URL per i segni di punteggiatura e la codifica UTF-8 per i caratteri internazionali. Alcuni siti web potrebbero richiedere che la codifica della query avvenga con un altro metodo oltre a UTF-8, ad esempio la codifica caratteri originale del Paese (es. Maiusc-JIS per il Giappone).
    Valore di esempio: se l'utente digita "ciao a tutti" nel campo di ricerca, questa variabile punta a "ciao a tutti"
    Campo di applicazione: elemento <search>
    Vedi l'esempio {query}.
    {url}
    Punta all'URL dal campo dell'indirizzo del browser, dove qualsiasi carattere che non sia una lettera, un numero, un punto (.) o un trattino di sottolineatura (_) è codificato (escape). Ad esempio, il segno "chiocciola" (@) viene codificato con %40, mentre lo spazio con %20.
    Valore di esempio: http%3A%2F%2Fwww.wikipedia.org (la versione di escape di http://www.wikipedia.org)
    Campo di applicazione: elemento <search>, <site> o <send>
    Vedi l'esempio {url}.
    {url.host}
    Punta alla stringa del sito web.
    Valore di esempio: www.google.com
    Campo di applicazione: elemento <search>, <site> o <send>
    Vedi l'esempio {url.host}.
    {url.noescape}
    Punta alla formulazione esatta dell'URL, proprio come compare nel campo dell'indirizzo del browser, senza ulteriore codifica.
    Valore di esempio: http://www.wikipedia.org
    Campo di applicazione: elemento <search>, <site> o <send>
    Vedi l'esempio {url.noescape}.
    {domain}
    Punta al dominio di ricerca Google principale per questa Toolbar. Vale a dire, torna al dominio corrispondente ai risultati della ricerca e non al dominio in cui si trova l'utente.
    Valori di esempio: com e co.uk
    Campo di applicazione: elemento <search>, <site>, <send> o <feed>
    Vedi l'esempio {domain}.
    {locale}
    Punta alla lingua ISO della Toolbar.
    Valori di esempio: en, es e pt-BR
    Campo di applicazione: elemento <search>, <site> o <send>
    Vedi l'esempio {locale}.
    {selection}
    Punta al testo normale correntemente selezionato nella finestra del browser. Il testo è codificato in utf-8 o con qualsiasi altro metodo specificato dall'attributo charset. È codificato inoltre in escape cgi. Se il metodo di codifica non è "post", il testo potrebbe risultare troncato.
    Valore di esempio: se l'utente seleziona "ciao a tutti" in grassetto nel browser, questa variabile punta a "ciao a tutti" in testo normale
    Campo di applicazione: elemento <send>
    Vedi l'esempio {selection}.
    {option1}
    Punta al valore specificato dall'utente a partire dall'elemento <option>. Questa variabile deve essere inserita in un URL. A questa variabile viene assegnato il nome option1 nel caso in cui sia necessario aggiungere altre opzioni in seguito.
    Valore di esempio: se l'utente specifica un codice postale nelle impostazioni della Toolbar relative ai pulsanti personalizzati, questa variabile restituisce tale valore, ad esempio "94043", come parte di un URL.
    Campo di applicazione: deve essere inserita in un URL nell'elemento <search>, <site>, <send> o <feed>
    . Vedi l'esempio {option1}.