Descrizione
Utilizza le azioni del browser per inserire icone nella barra degli strumenti principale di Google Chrome, a destra della barra degli indirizzi. Oltre alla sua icona, un'azione del browser può avere una descrizione comando, un badge e un popup.
Disponibilità
Nella figura seguente, il quadrato multicolore a destra della barra degli indirizzi è l'icona di una dell'azione del browser. Sotto l'icona è presente un popup.
Se vuoi creare un'icona che non sia sempre attiva, utilizza un'azione nella pagina anziché un browser. un'azione.
Manifest
Registra l'azione del browser nel manifest dell'estensione nel seguente modo:
{
"name": "My extension",
...
"browser_action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Google Mail", // optional, shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
Puoi fornire qualsiasi icona di dimensione da utilizzare in Chrome: Chrome selezionerà l'icona più vicina e ridimensionerà alle dimensioni appropriate per riempire lo spazio dei 16 dip. Tuttavia, se non vengono fornite le dimensioni esatte, il ridimensionamento può causare la perdita di dettagli o l'aspetto sfocato dell'icona.
Poiché i dispositivi con fattori di scala meno comuni, come 1,5x o 1,2x, stanno diventando più comuni, ti consigliamo di fornire più dimensioni per le icone. Questo assicura anche che, se le dimensioni di visualizzazione dell'icona cambia continuamente, non devi fare altro per creare icone diverse.
La vecchia sintassi per la registrazione dell'icona predefinita è ancora supportata:
{
"name": "My extension",
...
"browser_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Parti dell'interfaccia utente
Un'azione del browser può avere un'icona, una descrizione comando, un badge e un popup.
Icona
Le icone delle azioni del browser in Chrome sono larghe e alte di 16 cali (pixel indipendenti dal dispositivo). Più grande le icone vengono ridimensionate per adattarsi, ma per ottenere i risultati migliori utilizza un'icona quadrata con 16 dita.
Puoi impostare l'icona in due modi: utilizzando un'immagine statica o l'elemento canvas HTML5. Utilizzo le immagini statiche sono più semplici per le applicazioni semplici, ma puoi creare UI più dinamiche, come un'animazione più fluida, utilizzando l'elemento canvas.
Le immagini statiche possono essere in qualsiasi formato visualizzabile da WebKit, incluso BMP, GIF, ICO, JPEG o PNG. Per estensioni non pacchettizzate, le immagini devono essere in formato PNG.
Per impostare l'icona, utilizza il campo default_icon di default_icon nel file manifest, oppure richiama
il metodo browserAction.setIcon
.
Per visualizzare correttamente l'icona quando la densità dei pixel dello schermo (rapporto size_in_pixel / size_in_dip
) è
diversa da 1, l'icona può essere definita come un insieme di immagini con dimensioni diverse. L'immagine effettiva da
il display verrà selezionato tra quelli selezionati per adattarsi al meglio alle dimensioni in pixel di 16 dip. Il set di icone può contenere
le specifiche per le icone di qualsiasi dimensione e Chrome selezionerà quella più appropriata.
Descrizione comando
Per impostare la descrizione comando, utilizza il campo default_title di default_title nel file manifest oppure
chiama il metodo browserAction.setTitle
. Puoi specificare stringhe specifiche per le impostazioni internazionali
campo default_title; consulta Internazionalizzazione per maggiori dettagli.
Badge
Le azioni del browser possono facoltativamente mostrare un badge, ovvero una porzione di testo sovrapposto all'icona. I badge semplificano l'aggiornamento dell'azione del browser in modo da visualizzare una piccola quantità di informazioni sul lo stato dell'estensione.
Poiché lo spazio è limitato, il badge deve contenere al massimo 4 caratteri.
Imposta il testo e il colore del badge utilizzando browserAction.setBadgeText
e
browserAction.setBadgeBackgroundColor
.
Popup
Se per un'azione del browser è presente un popup, questo viene visualizzato quando l'utente fa clic sull'icona dell'estensione. La può includere tutti i contenuti HTML che preferisci e viene ridimensionato automaticamente per adattarsi a tali contenuti. Il popup non può essere più piccolo di 25 x 25 e non può essere più grande di 800 x 600.
Per aggiungere un popup all'azione del browser, crea un file HTML con i contenuti del popup. Specifica
il file HTML nel campo default_popup di browser_action nel manifest oppure richiama il metodo
browserAction.setPopup
.
Suggerimenti
Per un impatto visivo ottimale, segui queste linee guida:
- Utilizza le azioni del browser per le funzionalità pertinenti nella maggior parte delle pagine.
- Non utilizzare le azioni del browser per le funzionalità significative solo per poche pagine. Usa pagina azioni.
- Utilizza icone grandi e colorate che consentano di sfruttare al meglio lo spazio di 16 x 16 pixel. Icone di azione del browser dovrebbero sembrare un po' più grandi e più pesanti delle icone delle azioni sulle pagine.
- Non tentare di imitare l'icona del menu monocromatico di Google Chrome. Non funziona bene con temi e, comunque, le estensioni dovrebbero risaltare un po'.
- Sì. Utilizza la trasparenza alfa per aggiungere bordi morbidi all'icona. Poiché molte persone utilizzano i temi, dovrebbe avere un aspetto piacevole su vari colori di sfondo.
- Non animare costantemente l'icona. È solo fastidioso.
Esempi
Puoi trovare semplici esempi di utilizzo delle azioni del browser nella sezione examples/api/browserAction . Per altri esempi e per assistenza nella visualizzazione del codice sorgente, consulta Esempi.
Tipi
ColorArray
Tipo
[numero, numero, numero, numero]
ImageDataType
Dati di pixel per un'immagine. Deve essere un oggetto ImageData. ad esempio da un elemento canvas
.
Tipo
ImageData
TabDetails
Proprietà
-
tabId
numero facoltativo
L'ID della scheda per cui eseguire la query. Se non viene specificata alcuna tabulazione, viene restituito lo stato non specifico della scheda.
Metodi
disable()
chrome.browserAction.disable(
tabId?: number,
callback?: function,
)
Disattiva l'azione del browser per una scheda.
Parametri
-
tabId
numero facoltativo
L'ID della scheda per la quale modificare l'azione del browser.
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
enable()
chrome.browserAction.enable(
tabId?: number,
callback?: function,
)
Consente di attivare l'azione del browser per una scheda. Per impostazione predefinita, è abilitato.
Parametri
-
tabId
numero facoltativo
L'ID della scheda per la quale modificare l'azione del browser.
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getBadgeBackgroundColor()
chrome.browserAction.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
)
Ottiene il colore di sfondo dell'azione del browser.
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: ColorArray) => void
-
risultato
-
Resi
-
Promise<ColorArray>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getBadgeText()
chrome.browserAction.getBadgeText(
details: TabDetails,
callback?: function,
)
Restituisce il testo del badge dell'azione del browser. Se non viene specificata alcuna scheda, viene restituito il testo del badge che non è specifico della scheda.
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: string) => void
-
risultato
stringa
-
Resi
-
Promise<string>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getPopup()
chrome.browserAction.getPopup(
details: TabDetails,
callback?: function,
)
Restituisce il documento HTML impostato come popup per questa azione del browser.
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: string) => void
-
risultato
stringa
-
Resi
-
Promise<string>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getTitle()
chrome.browserAction.getTitle(
details: TabDetails,
callback?: function,
)
Restituisce il titolo dell'azione nel browser.
Parametri
-
dettagli
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: string) => void
-
risultato
stringa
-
Resi
-
Promise<string>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setBadgeBackgroundColor()
chrome.browserAction.setBadgeBackgroundColor(
details: object,
callback?: function,
)
Imposta il colore di sfondo per il badge.
Parametri
-
dettagli
oggetto
-
colore
string | ColorArray
Un array di quattro numeri interi nell'intervallo 0-255 che compongono il colore RGBA del badge. Può anche essere una stringa con un valore colore esadecimale CSS. ad esempio
#FF0000
o#F00
(rosso). Visualizza i colori con la massima opacità. -
tabId
numero facoltativo
Limita la modifica alla selezione di una determinata scheda. Viene reimpostata automaticamente quando la scheda viene chiusa.
-
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setBadgeText()
chrome.browserAction.setBadgeText(
details: object,
callback?: function,
)
Imposta il testo del badge per l'azione del browser. Il badge viene visualizzato sopra l'icona.
Parametri
-
dettagli
oggetto
-
tabId
numero facoltativo
Limita la modifica alla selezione di una determinata scheda. Viene reimpostata automaticamente quando la scheda viene chiusa.
-
testo
stringa facoltativo
È possibile passare un numero qualsiasi di caratteri, ma solo quattro circa possono essere inseriti nello spazio. Se viene passata una stringa vuota (
''
), il testo del badge viene cancellato. SetabId
viene specificato etext
è nullo, il testo della scheda specificata viene cancellato e viene visualizzato per impostazione predefinita il testo del badge globale.
-
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setIcon()
chrome.browserAction.setIcon(
details: object,
callback?: function,
)
Consente di impostare l'icona dell'azione del browser. L'icona può essere specificata come percorso di un file immagine, come dati di pixel da un elemento canvas o come dizionario di uno di questi file. È necessario specificare la proprietà path
o imageData
.
Parametri
-
dettagli
oggetto
-
imageData
ImageData | oggetto facoltativo
Un oggetto ImageData o un dizionario {size -> ImageData} che rappresenta un'icona da impostare. Se l'icona viene specificata come dizionario, l'immagine utilizzata viene scelta in base alla densità dei pixel dello schermo. Se il numero di pixel immagine che rientrano in un'unità di spazio sullo schermo è uguale a
scale
, viene selezionata un'immagine con dimensioniscale
* n, dove n è la dimensione dell'icona nell'interfaccia utente. È necessario specificare almeno un'immagine. Nota che "details.imageData = foo" equivale a "details.imageData = {'16': foo}" -
percorso
string | oggetto facoltativo
Un percorso dell'immagine relativo o un dizionario {size -> relative image path} che punta a un'icona da impostare. Se l'icona viene specificata come dizionario, l'immagine utilizzata viene scelta in base alla densità dei pixel dello schermo. Se il numero di pixel immagine che rientrano in un'unità di spazio sullo schermo è uguale a
scale
, viene selezionata un'immagine con dimensioniscale
* n, dove n è la dimensione dell'icona nell'interfaccia utente. È necessario specificare almeno un'immagine. Tieni presente che "details.path = foo" è equivalente a "details.path = {'16': foo}" -
tabId
numero facoltativo
Limita la modifica alla selezione di una determinata scheda. Viene reimpostata automaticamente quando la scheda viene chiusa.
-
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 116 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setPopup()
chrome.browserAction.setPopup(
details: object,
callback?: function,
)
Imposta il documento HTML da aprire come popup quando l'utente fa clic sull'icona delle azioni del browser.
Parametri
-
dettagli
oggetto
-
popup
stringa
Il percorso relativo del file HTML da mostrare in una finestra popup. Se il valore è impostato sulla stringa vuota (
''
), non viene visualizzato alcun popup. -
tabId
numero facoltativo
Limita la modifica alla selezione di una determinata scheda. Viene reimpostata automaticamente quando la scheda viene chiusa.
-
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
setTitle()
chrome.browserAction.setTitle(
details: object,
callback?: function,
)
Imposta il titolo dell'azione del browser. Questo titolo viene visualizzato nella descrizione comando.
Parametri
-
dettagli
oggetto
-
tabId
numero facoltativo
Limita la modifica alla selezione di una determinata scheda. Viene reimpostata automaticamente quando la scheda viene chiusa.
-
titolo
stringa
La stringa visualizzata dall'azione del browser al passaggio del mouse.
-
-
callback
funzione facoltativa
Chrome 67 e versioni successive .Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 88 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onClicked
chrome.browserAction.onClicked.addListener(
callback: function,
)
Attivato quando viene fatto clic su un'icona di azione del browser. Non si attiva se l'azione del browser include un popup.