Descrição
Use a API chrome.bookmarks para criar, organizar e manipular favoritos. Consulte também Substituir páginas, que você pode usar para criar uma página personalizada do Gerenciador de favoritos.
 
  Permissões
bookmarksVocê precisa declarar a permissão "bookmarks" no manifesto da extensão para usar a API Bookmarks. Exemplo:
{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}
Conceitos e uso
Objetos e propriedades
Os favoritos são organizados em uma árvore, em que cada nó é um favorito ou uma pasta (às vezes chamada de grupo). Cada nó na árvore é representado por um objeto bookmarks.BookmarkTreeNode.
As propriedades BookmarkTreeNode são usadas em toda a API chrome.bookmarks. Por exemplo, ao
chamar bookmarks.create, você transmite o pai do novo nó (parentId) e, opcionalmente, as propriedades
index, title e url do nó. Consulte bookmarks.BookmarkTreeNode para informações
sobre as propriedades que um nó pode ter.
Exemplos
O código a seguir cria uma pasta com o título "Favoritos da extensão". O primeiro argumento de
create() especifica propriedades para a nova pasta. O segundo argumento define uma função a ser
executada depois que a pasta é criada.
chrome.bookmarks.create(
  {'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
  function(newFolder) {
    console.log("added folder: " + newFolder.title);
  },
);
O snippet a seguir cria um marcador que aponta para a documentação do desenvolvedor de extensões. Como nada de ruim vai acontecer se a criação do marcador falhar, esse código não se preocupa em definir uma função de callback.
chrome.bookmarks.create({
  'parentId': extensionsFolderId,
  'title': 'Extensions doc',
  'url': 'https://developer.chrome.com/docs/extensions',
});
Para testar essa API, instale o exemplo da API Bookmarks no repositório chrome-extension-samples (link em inglês).
Tipos
BookmarkTreeNode
Um nó (um favorito ou uma pasta) na árvore de favoritos. Os nós filhos são ordenados na pasta principal.
Propriedades
- 
    criançasBookmarkTreeNode[] opcional Uma lista ordenada de filhos deste nó. 
- 
    dateAddednumber optional Quando este nó foi criado, em milissegundos desde o período ( new Date(dateAdded)).
- 
    dateGroupModifiednumber optional Quando o conteúdo desta pasta foi alterado pela última vez, em milissegundos desde a época. 
- 
    dateLastUsednumber optional Chrome 114 ou mais recenteQuando este nó foi aberto pela última vez, em milissegundos desde o período. Não definido para pastas. 
- 
    folderTypeFolderType opcional Chrome 134 ou mais recenteSe presente, é uma pasta adicionada pelo navegador e que não pode ser modificada pelo usuário ou pela extensão. Os nós filhos podem ser modificados se o nó não tiver a propriedade unmodifiabledefinida. Omitido se o nó puder ser modificado pelo usuário e pela extensão (padrão).Pode haver zero, um ou vários nós de cada tipo de pasta. Uma pasta pode ser adicionada ou removida pelo navegador, mas não pela API Extensions. 
- 
    IDstring O identificador exclusivo do nó. Os IDs são exclusivos no perfil atual e permanecem válidos mesmo depois que o navegador é reiniciado. 
- 
    indexnumber optional A posição baseada em zero deste nó na pasta mãe. 
- 
    parentIdstring opcional O idda pasta principal. Omitido para o nó raiz.
- 
    sincronizandobooleano Chrome 134 ou mais recenteSe este nó é sincronizado com o armazenamento remoto da conta do usuário pelo navegador. Isso pode ser usado para distinguir entre versões da conta e somente locais do mesmo FolderType. O valor dessa propriedade pode mudar para um nó existente, por exemplo, como resultado de uma ação do usuário.Observação: isso reflete se o nó está salvo no provedor de contas integrado do navegador. É possível que um nó seja sincronizado por terceiros, mesmo que esse valor seja "false". Para nós gerenciados (em que unmodifiableestá definido comotrue), essa propriedade sempre seráfalse.
- 
    títulostring O texto exibido para o nó. 
- 
    não modificável"managed" 
 optionalIndica o motivo pelo qual este nó não pode ser modificado. O valor managedindica que esse nó foi configurado pelo administrador do sistema ou pelo responsável de um usuário supervisionado. Omitido se o nó puder ser modificado pelo usuário e pela extensão (padrão).
- 
    urlstring opcional O URL para onde o usuário é direcionado quando clica no marcador. Omitido para pastas. 
BookmarkTreeNodeUnmodifiable
Indica o motivo pelo qual este nó não pode ser modificado. O valor managed indica que esse nó foi configurado pelo administrador do sistema. Omitido se o nó puder ser modificado pelo usuário e pela extensão (padrão).
Valor
"managed" 
 
CreateDetails
Objeto transmitido à função create().
Propriedades
- 
    indexnumber optional 
- 
    parentIdstring opcional O padrão é a pasta "Outros favoritos". 
- 
    títulostring opcional 
- 
    urlstring opcional 
FolderType
Indica o tipo de pasta.
Enumeração
"bookmarks-bar" 
 A pasta cujo conteúdo é exibido na parte de cima da janela do navegador.
"Outros" 
 Favoritos que aparecem na lista completa em todas as plataformas.
"mobile" 
 Os favoritos geralmente estão disponíveis nos dispositivos móveis do usuário, mas podem ser modificados por extensão ou no gerenciador de favoritos.
"managed" 
 Uma pasta de nível superior que pode estar presente se o administrador do sistema ou o responsável por um usuário supervisionado tiver configurado os favoritos.
Propriedades
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
As operações de gravação de favoritos não são mais limitadas pelo Chrome.
Valor
1000000 
 
MAX_WRITE_OPERATIONS_PER_HOUR
As operações de gravação de favoritos não são mais limitadas pelo Chrome.
Valor
1000000 
 
Métodos
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
Cria um marcador ou uma pasta no parentId especificado. Se o URL for NULL ou estiver ausente, será uma pasta.
Parâmetros
- 
    favorito
Retorna
- 
            Promise<BookmarkTreeNode> Chrome 90 ou mais recente
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
Recupera os BookmarkTreeNode(s) especificados.
Parâmetros
- 
    idOrIdListstring | [string, ...string[]] Um único ID com valor de string ou uma matriz de IDs com valor de string 
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
getChildren()
chrome.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera os filhos do ID BookmarkTreeNode especificado.
Parâmetros
- 
    IDstring 
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Recupera os favoritos adicionados recentemente.
Parâmetros
- 
    numberOfItemsnúmero O número máximo de itens para retornar. 
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera parte da hierarquia de favoritos, começando no nó especificado.
Parâmetros
- 
    IDstring O ID da raiz da subárvore a ser recuperada. 
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
getTree()
chrome.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Recupera toda a hierarquia de favoritos.
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
move()
chrome.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Move o BookmarkTreeNode especificado para o local fornecido.
Parâmetros
- 
    IDstring 
- 
    destinoobjeto - 
    indexnumber optional 
- 
    parentIdstring opcional 
 
- 
    
Retorna
- 
            Promise<BookmarkTreeNode> Chrome 90 ou mais recente
remove()
chrome.bookmarks.remove(
id: string,
): Promise<void>
Remove um favorito ou uma pasta de favoritos vazia.
Parâmetros
- 
    IDstring 
Retorna
- 
            Promise<void> Chrome 90 ou mais recente
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
Remove recursivamente uma pasta de favoritos.
Parâmetros
- 
    IDstring 
Retorna
- 
            Promise<void> Chrome 90 ou mais recente
search()
chrome.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
Pesquisa BookmarkTreeNodes que correspondem à consulta especificada. As consultas especificadas com um objeto produzem BookmarkTreeNodes que correspondem a todas as propriedades especificadas.
Parâmetros
- 
    consultastring | object Uma string de palavras e frases entre aspas que correspondem a URLs e títulos de favoritos ou um objeto. Se for um objeto, as propriedades query,urletitlepoderão ser especificadas, e os favoritos correspondentes a todas as propriedades especificadas serão produzidos.- 
    consultastring opcional Uma string de palavras e frases entre aspas que são comparadas com URLs e títulos de favoritos. 
- 
    títulostring opcional O título do marcador, que precisa ser idêntico. 
- 
    urlstring opcional O URL do favorito, que precisa ser exatamente igual. As pastas não têm URL. 
 
- 
    
Retorna
- 
            Promise<BookmarkTreeNode[]> Chrome 90 ou mais recente
update()
chrome.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
Atualiza as propriedades de um favorito ou uma pasta. Especifique apenas as propriedades que você quer mudar. As não especificadas vão permanecer inalteradas. Observação:no momento, apenas "title" e "url" são compatíveis.
Parâmetros
- 
    IDstring 
- 
    mudaobjeto - 
    títulostring opcional 
- 
    urlstring opcional 
 
- 
    
Retorna
- 
            Promise<BookmarkTreeNode> Chrome 90 ou mais recente
Eventos
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Acionado quando um favorito ou uma pasta muda. Observação:no momento, apenas mudanças no título e no URL acionam isso.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(id: string, changeInfo: object) => void - 
    IDstring 
- 
    changeInfoobjeto - 
    títulostring 
- 
    urlstring opcional 
 
- 
    
 
- 
    
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Disparado quando a ordem dos filhos de uma pasta muda porque a ordem está sendo classificada na interface. Isso não é chamado como resultado de um move().
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(id: string, reorderInfo: object) => void - 
    IDstring 
- 
    reorderInfoobjeto - 
    childIdsstring[] 
 
- 
    
 
- 
    
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Acionado quando um favorito ou uma pasta é criada.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(id: string, bookmark: BookmarkTreeNode) => void - 
    IDstring 
- 
    favorito
 
- 
    
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Disparado quando uma sessão de importação de favoritos é iniciada. Observadores caros devem ignorar atualizações onCreated até que onImportEnded seja acionado. Os observadores ainda precisam processar outras notificações imediatamente.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:() => void 
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Disparado quando uma sessão de importação de favoritos é encerrada.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:() => void 
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Disparado quando um favorito ou uma pasta é movido para outra pasta mãe.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(id: string, moveInfo: object) => void - 
    IDstring 
- 
    moveInfoobjeto - 
    indexnúmero 
- 
    oldIndexnúmero 
- 
    oldParentIdstring 
- 
    parentIdstring 
 
- 
    
 
- 
    
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Acionado quando um favorito ou uma pasta é removido. Quando uma pasta é removida de forma recursiva, uma única notificação é disparada para a pasta, e nenhuma para o conteúdo dela.
Parâmetros
- 
    callbackfunção O parâmetro callbacktem esta aparência:(id: string, removeInfo: object) => void - 
    IDstring 
- 
    removeInfoobjeto - 
    indexnúmero 
- 
    Chrome 48 ou mais recente
- 
    parentIdstring 
 
- 
    
 
-