Descrizione
Utilizza l'API chrome.pageAction
per inserire icone nella barra degli strumenti principale di Google Chrome, a destra della barra degli indirizzi. Le azioni sulla pagina rappresentano azioni che possono essere intraprese nella pagina corrente, ma che non sono applicabili a tutte le pagine. Le azioni per la pagina appaiono in grigio quando sono inattive.
Disponibilità
Ecco alcuni esempi:
- Iscriviti al feed RSS di questa pagina
- Crea una presentazione con le foto di questa pagina
L'icona RSS nello screenshot seguente rappresenta un'azione della pagina che ti consente di iscriverti al feed RSS della pagina corrente.
Le azioni della pagina nascoste vengono visualizzate in grigio. Ad esempio, il feed RSS riportato di seguito è visualizzato in grigio perché non puoi iscriverti al feed per la pagina corrente:
Ti consigliamo di utilizzare un'azione del browser, in modo che gli utenti possano sempre interagire con la tua estensione.
Manifest
Registra l'azione di pagina nel manifest dell'estensione nel seguente modo:
{ "name": "My extension", ... "page_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 }, ... }
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. Chrome selezionerà quella più vicina e la ridimensionerà per riempire lo spazio di 16 dip. In questo modo, se le dimensioni di visualizzazione delle icone vengono modificate, non dovrai fare altro per fornire icone diverse. Tuttavia, se la differenza di dimensioni è troppo estrema, questo ridimensionamento può causare la perdita di dettagli o la sfocatura dell'icona.
La vecchia sintassi per la registrazione dell'icona predefinita è ancora supportata:
{ "name": "My extension", ... "page_action": { ... "default_icon": "images/icon32.png" // optional // equivalent to "default_icon": { "32": "images/icon32.png" } }, ... }
Parti dell'interfaccia utente
Come le azioni del browser, le azioni della pagina possono avere un'icona, un suggerimento e un popup, ma non possono avere badge. Inoltre, le azioni della pagina possono essere visualizzate in grigio. Puoi trovare informazioni su icone, descrizioni comando e popup leggendo la sezione relativa all'interfaccia utente dell'azione del browser.
Puoi visualizzare e disattivare un'azione di pagina utilizzando rispettivamente i metodi pageAction.show
e pageAction.hide
. Per impostazione predefinita, un'azione sulla pagina viene visualizzata in grigio. Quando lo mostri, specifichi la scheda in cui deve essere visualizzata l'icona. L'icona rimane visibile finché la scheda non viene chiusa o non inizia a visualizzare un URL diverso (ad esempio perché l'utente fa clic su un link).
Suggerimenti
Per un impatto visivo ottimale, segui queste linee guida:
- Utilizza le azioni sulla pagina per le funzionalità utili solo per alcune pagine.
- Non utilizzare le azioni sulla pagina per le funzionalità utili per la maggior parte delle pagine. Utilizza invece le azioni del browser.
- Non animare costantemente l'icona. È solo fastidioso.
Tipi
ImageDataType
Dati dei pixel per un'immagine. Deve essere un oggetto ImageData (ad esempio, da un elemento canvas
).
Tipo
ImageData
TabDetails
Proprietà
- tabId
number (facoltativo)
L'ID della scheda di cui eseguire una query sullo stato. Se non viene specificata alcuna scheda, viene restituito lo stato non specifico per le schede.
Metodi
getPopup()
chrome.pageAction.getPopup(
details: TabDetails,
callback?: function,
): Promise<string>
Recupera il documento HTML impostato come popup per questa azione della pagina.
Parametri
- dettagli
- callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: string) => void
- risultato
stringa
-
Resi
-
Promise<string>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
getTitle()
chrome.pageAction.getTitle(
details: TabDetails,
callback?: function,
): Promise<string>
Recupera il titolo dell'azione sulla pagina.
Parametri
- dettagli
- callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: string) => void
- risultato
stringa
-
Resi
-
Promise<string>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
hide()
chrome.pageAction.hide(
tabId: number,
callback?: function,
): Promise<void>
Nasconde l'azione della pagina. Le azioni della pagina nascoste vengono comunque visualizzate nella barra degli strumenti di Chrome, ma sono disattivate.
Parametri
- tabId
numero
L'ID della scheda per la quale vuoi modificare l'azione di pagina.
- callback
funzione facoltativa
Chrome 67+Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setIcon()
chrome.pageAction.setIcon(
details: object,
callback?: function,
): Promise<void>
Imposta l'icona per l'azione della pagina. L'icona può essere specificata come percorso di un file immagine, come dati in pixel di un elemento canvas o come dizionario di uno di questi. È necessario specificare la proprietà path o imageData.
Parametri
- dettagli
oggetto
- iconIndex
number (facoltativo)
Deprecato. Questo argomento viene ignorato.
- imageData
ImageData | oggetto facoltativo
Un oggetto ImageData o un dizionario {size -> ImageData} che rappresenta l'icona da impostare. Se l'icona è specificata come dizionario, l'immagine effettiva da utilizzare viene scelta in base alla densità dei pixel dello schermo. Se il numero di pixel dell'immagine che rientrano in un'unità di spazio dello schermo è uguale a
scale
, verrà selezionata l'immagine di dimensioniscale
* n, dove n è la dimensione dell'icona nell'interfaccia utente. È necessario specificare almeno un'immagine. Tieni presente che "details.imageData = foo" equivale a "details.imageData = {'16': foo}". - percorso
stringa | oggetto facoltativo
Un percorso dell'immagine relativo o un dizionario {size -> relative image path} che punta all'icona da impostare. Se l'icona è specificata come dizionario, l'immagine effettiva da utilizzare viene scelta in base alla densità dei pixel dello schermo. Se il numero di pixel dell'immagine che rientrano in un'unità di spazio dello schermo è uguale a
scale
, verrà selezionata l'immagine di dimensioniscale
* n, dove n è la dimensione dell'icona nell'interfaccia utente. È necessario specificare almeno un'immagine. Tieni presente che "details.path = foo" equivale a "details.path = {'16': foo}". - tabId
numero
L'ID della scheda per la quale vuoi modificare l'azione di pagina.
-
- callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setPopup()
chrome.pageAction.setPopup(
details: object,
callback?: function,
): Promise<void>
Imposta il documento HTML da aprire come popup quando l'utente fa clic sull'icona dell'azione sulla pagina.
Parametri
- dettagli
oggetto
- popup
stringa
Il percorso relativo al file HTML da mostrare in un popup. Se impostato sulla stringa vuota (
''
), non viene visualizzato alcun popup. - tabId
numero
L'ID della scheda per la quale vuoi modificare l'azione di pagina.
-
- callback
funzione facoltativa
Chrome 67+Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
setTitle()
chrome.pageAction.setTitle(
details: object,
callback?: function,
): Promise<void>
Imposta il titolo dell'azione sulla pagina. Questo valore viene visualizzato in una descrizione comando sopra l'azione della pagina.
Parametri
- dettagli
oggetto
- tabId
numero
L'ID della scheda per la quale vuoi modificare l'azione di pagina.
- titolo
stringa
La stringa della descrizione comando.
-
- callback
funzione facoltativa
Chrome 67+Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
show()
chrome.pageAction.show(
tabId: number,
callback?: function,
): Promise<void>
Mostra l'azione della pagina. L'azione di pagina viene mostrata ogni volta che viene selezionata la scheda.
Parametri
- tabId
numero
L'ID della scheda per la quale vuoi modificare l'azione di pagina.
- callback
funzione facoltativa
Chrome 67+Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 101+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.
Eventi
onClicked
chrome.pageAction.onClicked.addListener(
callback: function,
)
Attivato quando viene fatto clic su un'icona di azione sulla pagina. Questo evento non viene attivato se l'azione della pagina ha un popup.