chrome.pageAction

Beschrijving

Gebruik de chrome.pageAction API om pictogrammen in de hoofdwerkbalk van Google Chrome te plaatsen, rechts van de adresbalk. Paginaacties vertegenwoordigen acties die op de huidige pagina kunnen worden uitgevoerd, maar die niet op alle pagina's van toepassing zijn. Pagina-acties worden grijs weergegeven als ze inactief zijn.

Beschikbaarheid

≤ MV2

Enkele voorbeelden:

  • Abonneer u op de RSS-feed van deze pagina
  • Maak een diavoorstelling van de foto's op deze pagina

Het RSS-pictogram in de volgende schermafbeelding vertegenwoordigt een paginaactie waarmee u zich kunt abonneren op de RSS-feed voor de huidige pagina.

Verborgen paginaacties worden grijs weergegeven. De onderstaande RSS-feed is bijvoorbeeld grijs weergegeven, omdat u zich niet kunt abonneren op de feed voor de huidige pagina:

Overweeg in plaats daarvan een browseractie te gebruiken, zodat gebruikers altijd met uw extensie kunnen communiceren.

Manifest

Registreer uw paginaactie als volgt in het extensiemanifest :

{
  "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
  },
  ...
}

Omdat apparaten met minder gebruikelijke schaalfactoren zoals 1,5x of 1,2x steeds gebruikelijker worden, wordt u aangeraden meerdere formaten voor uw pictogrammen op te geven. Chrome selecteert de dichtstbijzijnde en schaalt deze om de ruimte van 16 dips te vullen. Dit zorgt er ook voor dat als de weergavegrootte van het pictogram ooit wordt gewijzigd, u geen werk meer hoeft te doen om verschillende pictogrammen aan te bieden! Als het verschil in grootte echter te extreem is, kan deze schaling ervoor zorgen dat het pictogram details verliest of er wazig uitziet.

De oude syntaxis voor het registreren van het standaardpictogram wordt nog steeds ondersteund:

{
  "name": "My extension",
  ...
  "page_action": {
    ...
    "default_icon": "images/icon32.png"  // optional
    // equivalent to "default_icon": { "32": "images/icon32.png" }
  },
  ...
}

Delen van de gebruikersinterface

Net als browseracties kunnen paginaacties een pictogram, knopinfo en pop-up hebben; ze kunnen echter geen badges hebben. Bovendien kunnen paginaacties grijs worden weergegeven. U kunt informatie over pictogrammen, tooltips en pop-ups vinden door te lezen over de gebruikersinterface van de browseractie .

U kunt een paginaactie weergeven en grijs maken met respectievelijk de methoden pageAction.show en pageAction.hide . Standaard wordt een paginaactie grijs weergegeven. Wanneer u het toont, geeft u het tabblad op waarin het pictogram moet verschijnen. Het icoontje blijft zichtbaar totdat het tabblad wordt gesloten of een andere URL begint weer te geven (bijvoorbeeld omdat de gebruiker op een link klikt).

Tips

Volg deze richtlijnen voor de beste visuele impact:

  • Gebruik pagina-acties voor functies die slechts voor een paar pagina's zinvol zijn.
  • Gebruik geen paginaacties voor functies die voor de meeste pagina's zinvol zijn. Gebruik in plaats daarvan browseracties .
  • Animeer uw pictogram niet voortdurend. Dat is gewoon vervelend.

Soorten

ImageDataType

Pixelgegevens voor een afbeelding. Moet een ImageData-object zijn (bijvoorbeeld van een canvas ).

Type

Beeldgegevens

TabDetails

Chroom 88+

Eigenschappen

  • tabId

    nummer optioneel

    De ID van het tabblad waarvoor de status moet worden opgevraagd. Als er geen tabblad is opgegeven, wordt de niet-tabbladspecifieke status geretourneerd.

Methoden

getPopup()

Belofte
chrome.pageAction.getPopup(
  details: TabDetails,
  callback?: function,
)

Haalt het HTML-document op dat is ingesteld als pop-up voor deze paginaactie.

Parameters

  • details
  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: string) => void

    • resultaat

      snaar

Retouren

  • Beloof<tekenreeks>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

getTitle()

Belofte
chrome.pageAction.getTitle(
  details: TabDetails,
  callback?: function,
)

Haalt de titel van de paginaactie op.

Parameters

  • details
  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: string) => void

    • resultaat

      snaar

Retouren

  • Beloof<tekenreeks>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

hide()

Belofte
chrome.pageAction.hide(
  tabId: number,
  callback?: function,
)

Verbergt de paginaactie. Verborgen paginaacties verschijnen nog steeds in de Chrome-werkbalk, maar zijn grijs.

Parameters

  • tabId

    nummer

    De ID van het tabblad waarvoor u de paginaactie wilt wijzigen.

  • terugbellen

    functie optioneel

    Chroom 67+

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

setIcon()

Belofte
chrome.pageAction.setIcon(
  details: object,
  callback?: function,
)

Stelt het pictogram voor de paginaactie in. Het pictogram kan worden opgegeven als het pad naar een afbeeldingsbestand of als de pixelgegevens van een canvaselement, of als woordenboek van een van beide. Het pad of de eigenschap imageData moet worden opgegeven.

Parameters

  • details

    voorwerp

    • iconIndex

      nummer optioneel

      Afgekeurd. Dit argument wordt genegeerd.

    • afbeeldingGegevens

      Beeldgegevens | object optioneel

      Een ImageData-object of een woordenboek {size -> ImageData} dat het in te stellen pictogram vertegenwoordigt. Als het pictogram als woordenboek is opgegeven, wordt de werkelijk te gebruiken afbeelding gekozen afhankelijk van de pixeldichtheid van het scherm. Als het aantal afbeeldingspixels dat in één schermruimte-eenheid past gelijk is scale , dan wordt afbeelding met scale * n geselecteerd, waarbij n de grootte is van het pictogram in de gebruikersinterface. Er moet ten minste één afbeelding worden opgegeven. Houd er rekening mee dat 'details.imageData = foo' gelijk is aan 'details.imageData = {'16': foo}'

    • pad

      tekenreeks | object optioneel

      Ofwel een relatief afbeeldingspad, ofwel een woordenboek {grootte -> relatief afbeeldingspad} dat verwijst naar het in te stellen pictogram. Als het pictogram als woordenboek is opgegeven, wordt de werkelijk te gebruiken afbeelding gekozen afhankelijk van de pixeldichtheid van het scherm. Als het aantal afbeeldingspixels dat in één schermruimte-eenheid past gelijk is scale , dan wordt afbeelding met scale * n geselecteerd, waarbij n de grootte is van het pictogram in de gebruikersinterface. Er moet ten minste één afbeelding worden opgegeven. Houd er rekening mee dat 'details.path = foo' gelijk is aan 'details.path = {'16': foo}'

    • tabId

      nummer

      De ID van het tabblad waarvoor u de paginaactie wilt wijzigen.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

setPopup()

Belofte
chrome.pageAction.setPopup(
  details: object,
  callback?: function,
)

Stelt in dat het HTML-document wordt geopend als een pop-up wanneer de gebruiker op het pictogram van de paginaactie klikt.

Parameters

  • details

    voorwerp

    • pop-up

      snaar

      Het relatieve pad naar het HTML-bestand dat in een pop-up moet worden weergegeven. Indien ingesteld op de lege tekenreeks ( '' ), wordt er geen pop-up weergegeven.

    • tabId

      nummer

      De ID van het tabblad waarvoor u de paginaactie wilt wijzigen.

  • terugbellen

    functie optioneel

    Chroom 67+

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

setTitle()

Belofte
chrome.pageAction.setTitle(
  details: object,
  callback?: function,
)

Stelt de titel van de paginaactie in. Dit wordt weergegeven in tooltip over de paginaactie.

Parameters

  • details

    voorwerp

    • tabId

      nummer

      De ID van het tabblad waarvoor u de paginaactie wilt wijzigen.

    • titel

      snaar

      De tooltiptekenreeks.

  • terugbellen

    functie optioneel

    Chroom 67+

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

show()

Belofte
chrome.pageAction.show(
  tabId: number,
  callback?: function,
)

Toont de paginaactie. De paginaactie wordt weergegeven wanneer het tabblad wordt geselecteerd.

Parameters

  • tabId

    nummer

    De ID van het tabblad waarvoor u de paginaactie wilt wijzigen.

  • terugbellen

    functie optioneel

    Chroom 67+

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 101+

    Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.

Evenementen

onClicked

chrome.pageAction.onClicked.addListener(
  callback: function,
)

Wordt geactiveerd wanneer op een paginaactiepictogram wordt geklikt. Deze gebeurtenis wordt niet geactiveerd als de paginaactie een pop-up heeft.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

    (tab: tabs.Tab) => void