Description
Utilisez l'API chrome.pageAction
pour placer des icônes dans la barre d'outils principale de Google Chrome, à droite de la barre d'adresse. Les actions sur la page correspondent aux actions qui peuvent être effectuées sur la page active, mais qui ne s'appliquent pas à toutes les pages. Les actions sur la page sont grisées lorsqu'elles sont inactives.
Disponibilité
Voici quelques exemples :
- S'abonner au flux RSS de cette page
- Créer un diaporama à partir des photos de cette page
L'icône RSS de la capture d'écran suivante représente une action sur la page qui vous permet de vous abonner au flux RSS pour la page actuelle.
Les actions sur les pages masquées sont grisées. Par exemple, le flux RSS ci-dessous est grisé, car vous ne pouvez pas s'abonner au flux de la page actuelle:
Envisagez plutôt d'effectuer une action dans le navigateur, afin que les utilisateurs puissent toujours interagir avec votre .
Fichier manifeste
Enregistrez l'action de votre page dans le fichier manifeste de l'extension comme suit:
{
"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
},
...
}
Étant donné que les appareils avec des facteurs d'échelle moins courants tels que x1,5 ou x1,2 sont de plus en plus courants, vous êtes encouragé à fournir plusieurs tailles pour vos icônes. Chrome sélectionnera la version la plus proche et la mettra à l'échelle pour remplir l'espace de 16 creux. Cela garantit également que si la taille d'affichage de l'icône est modifiée, avez besoin de travail supplémentaire pour fournir des icônes différentes ! En revanche, si la différence de taille est trop extrême, cette mise à l'échelle peut faire perdre de détails ou sembler floue.
L'ancienne syntaxe pour enregistrer l'icône par défaut est toujours prise en charge:
{
"name": "My extension",
...
"page_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Composantes de l'interface utilisateur
Tout comme les actions du navigateur, les actions sur les pages peuvent contenir une icône, une info-bulle et un pop-up. ils ne peuvent pas avoir de badges, . De plus, les actions sur la page peuvent être grisées. Vous pouvez trouver des informations sur les icônes, des info-bulles et des fenêtres pop-up en lisant les actions du navigateur.
Vous pouvez afficher et grisé une action sur la page à l'aide des boutons pageAction.show
et
pageAction.hide
, respectivement. Par défaut, une action sur une page est grisée. Lorsque vous
vous spécifiez l'onglet dans lequel l'icône doit apparaître. L'icône reste visible jusqu'à ce que l'onglet
est fermée ou commence à afficher une URL différente (parce que l'utilisateur clique sur un lien, par exemple).
Conseils
Pour un impact visuel optimal, suivez ces consignes:
- Utilisez les actions sur la page pour des fonctionnalités qui n'ont de sens que pour quelques pages.
- N'utilisez pas les actions sur la page pour des fonctionnalités pertinentes pour la plupart des pages. Utiliser les actions du navigateur à la place.
- N'animez pas constamment votre icône. C'est juste ennuyeux.
Types
ImageDataType
Données de pixels pour une image. Doit être un objet ImageData (par exemple, à partir d'un élément canvas
).
Type
ImageData
TabDetails
Propriétés
-
tabId
numéro facultatif
ID de l'onglet pour lequel interroger l'état. Si aucune tabulation n'est spécifiée, l'état qui n'est pas spécifique à la tabulation est renvoyé.
Méthodes
getPopup()
chrome.pageAction.getPopup(
details: TabDetails,
callback?: function,
)
Récupère l'ensemble de documents HTML en tant que pop-up pour cette action de page.
Paramètres
-
détails
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: string) => void
-
résultat
chaîne
-
Renvoie
-
Promise<string>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getTitle()
chrome.pageAction.getTitle(
details: TabDetails,
callback?: function,
)
Récupère le titre de l'action sur la page.
Paramètres
-
détails
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: string) => void
-
résultat
chaîne
-
Renvoie
-
Promise<string>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
hide()
chrome.pageAction.hide(
tabId: number,
callback?: function,
)
Masque l'action de page. Les actions de page masquées apparaissent toujours dans la barre d'outils Chrome, mais sont grisées.
Paramètres
-
tabId
Nombre
Identifiant de l'onglet pour lequel vous souhaitez modifier l'action de la page.
-
rappel
function facultatif
Chrome (version 67 ou ultérieure)Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setIcon()
chrome.pageAction.setIcon(
details: object,
callback?: function,
)
Définit l'icône de l'action de la page. L'icône peut être spécifiée en tant que chemin d'accès à un fichier image, en tant que données de pixels d'un élément de canevas ou en tant que dictionnaire de l'un de ces éléments. Vous devez spécifier la propriété path ou imageData.
Paramètres
-
détails
objet
-
iconIndex
numéro facultatif
Obsolète. Cet argument est ignoré.
-
imageData
ImageData | objet facultatif
Un objet ImageData ou un dictionnaire {size -> ImageData} représentant l'icône à définir. Si l'icône est spécifiée sous forme de dictionnaire, l'image à utiliser est choisie en fonction de la densité en pixels de l'écran. Si le nombre de pixels d'image pouvant tenir dans une unité d'espace à l'écran est égal à
scale
, une image de taillescale
* n sera sélectionnée, n étant la taille de l'icône dans l'UI. Vous devez spécifier au moins une image. Notez que 'details.imageData = foo' équivaut à 'details.imageData = {'16': foo}' -
chemin d'accès
string | objet facultatif
Un chemin d'accès d'image relatif ou un dictionnaire {size -> chemin relatif de l'image} pointant vers l'icône à définir. Si l'icône est spécifiée sous forme de dictionnaire, l'image à utiliser est choisie en fonction de la densité en pixels de l'écran. Si le nombre de pixels d'image pouvant tenir dans une unité d'espace à l'écran est égal à
scale
, une image de taillescale
* n sera sélectionnée, n étant la taille de l'icône dans l'UI. Vous devez spécifier au moins une image. Notez que "details.path = foo" équivaut à 'details.path = {'16': foo}' -
tabId
Nombre
Identifiant de l'onglet pour lequel vous souhaitez modifier l'action de la page.
-
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setPopup()
chrome.pageAction.setPopup(
details: object,
callback?: function,
)
Définit le document HTML à ouvrir en tant que pop-up lorsque l'utilisateur clique sur l'icône d'action de la page.
Paramètres
-
détails
objet
-
pop-up
chaîne
Chemin relatif vers le fichier HTML à afficher dans une fenêtre pop-up. S'il est défini sur une chaîne vide (
''
), aucun pop-up ne s'affiche. -
tabId
Nombre
Identifiant de l'onglet pour lequel vous souhaitez modifier l'action de la page.
-
-
rappel
function facultatif
Chrome (version 67 ou ultérieure)Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
setTitle()
chrome.pageAction.setTitle(
details: object,
callback?: function,
)
Définit le titre de l'action sur la page. Ceci s'affiche dans une info-bulle au-dessus de l'action de la page.
Paramètres
-
détails
objet
-
tabId
Nombre
Identifiant de l'onglet pour lequel vous souhaitez modifier l'action de la page.
-
titre
chaîne
Chaîne de l'info-bulle.
-
-
rappel
function facultatif
Chrome (version 67 ou ultérieure)Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
show()
chrome.pageAction.show(
tabId: number,
callback?: function,
)
Affiche l'action de la page. L'action de la page s'affiche chaque fois que l'onglet est sélectionné.
Paramètres
-
tabId
Nombre
Identifiant de l'onglet pour lequel vous souhaitez modifier l'action de la page.
-
rappel
function facultatif
Chrome (version 67 ou ultérieure)Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 101 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onClicked
chrome.pageAction.onClicked.addListener(
callback: function,
)
Déclenché lorsqu'un utilisateur clique sur l'icône d'action d'une page. Cet événement ne se déclenchera pas si l'action sur la page est associée à un pop-up.