Eseguire l'override delle pagine di Chrome

Le estensioni possono utilizzare pagine di override HTML per sostituire una pagina normalmente fornita da Google Chrome. Un'estensione può contenere un override per una qualsiasi delle seguenti pagine, ma ogni estensione può eseguire l'override di una sola pagina:

Bookmark Manager
La pagina che viene visualizzata quando l'utente sceglie la voce di menu Gestione segnalibri dal menu di Chrome o, su Mac, la voce Gestione segnalibri dal menu Segnalibri. Puoi anche accedere a questa pagina inserendo l'URL chrome://bookmarks.
Cronologia
La pagina visualizzata quando l'utente sceglie la voce di menu Cronologia dal menu di Chrome o, su Mac, la voce Mostra cronologia completa dal menu Cronologia. Puoi accedere a questa pagina anche inserendo l'URL chrome://history.
Nuova scheda
La pagina visualizzata quando l'utente crea una nuova scheda o finestra. Puoi anche accedere a questa pagina inserendo l'URL chrome://newtab.

Gli screenshot seguenti mostrano la pagina Nuova scheda predefinita e poi una pagina Nuova scheda personalizzata.

La pagina Nuova scheda predefinita
La pagina Nuova scheda predefinita.
Una pagina Nuova scheda personalizzata
Una pagina Nuova scheda personalizzata.

Per provare questa funzionalità, consulta i nostri esempi di override.

Comportamento della finestra di navigazione in incognito

Nelle finestre di navigazione in incognito, le estensioni non possono ignorare le pagine Nuova scheda. Le altre pagine continuano a funzionare se la proprietà manifest incognito è impostata su "split" (il valore predefinito). Per informazioni dettagliate su come gestire le finestre di navigazione in incognito, vedi Salvataggio dei dati e modalità di navigazione in incognito.

Manifest

Utilizza il seguente codice per registrare una pagina di override nel manifest dell'estensione:

{
  "manifest_version": 3,
  "name": "My extension",
  ...

  "chrome_url_overrides" : {
    "PAGE_TO_OVERRIDE": "myPage.html"
  },
  ...
}

Per PAGE_TO_OVERRIDE, sostituisci uno dei seguenti valori:

  • "bookmarks"
  • "history"
  • "newtab"

Best practice

  • Rendi la tua pagina veloce e leggera.
    Gli utenti si aspettano che le pagine del browser integrate si aprano immediatamente. Evita di fare cose che potrebbero richiedere molto tempo. In particolare, evita di accedere alle risorse del database in modo sincrono. Quando effettui richieste di rete, preferisci fetch() a XMLHttpRequest().

  • Per evitare confusione tra gli utenti, dai un titolo alla pagina.
    Senza un titolo, il titolo della pagina viene impostato per impostazione predefinita sull'URL. Specifica il titolo utilizzando il tag <title> nel file HTML.

  • Ricorda che le nuove schede danno la priorità alla barra degli indirizzi.
    Non fare affidamento sul fatto che lo stato attivo della tastiera venga impostato su altre parti della pagina.

  • Personalizza la pagina Nuova scheda.
    Evita di creare una nuova pagina Nuova scheda che gli utenti potrebbero confondere con quella predefinita di Chrome.

Esempi

Vedi gli esempi di override.