refresh date: 2026-09-25 robots: noindex
Essa permissão aciona um aviso.
Descrição
Use a API chrome.bookmarks para criar, organizar e manipular favoritos. Consulte também Páginas de substituição, que podem ser usadas para criar uma página personalizada do Gerenciador de favoritos.
Permissões
bookmarks
Manifesto
É necessário declarar a permissão "bookmarks" no manifesto da extensão para usar a API de favoritos. Exemplo:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
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 mais 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 para
create() especifica as propriedades da nova pasta. O segundo argumento define uma função a ser
executada após a criação da pasta.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
O próximo snippet cria um favorito que aponta para a documentação para desenvolvedores sobre extensões. Como nada de ruim vai acontecer se a criação do favorito 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 do repositório chrome-extension-samples.
Tipos
BookmarkTreeNode
Um nó (um favorito ou uma pasta) na árvore de favoritos. Os nós filhos são ordenados dentro da pasta mãe.
Propriedades
-
crianças
BookmarkTreeNode[] opcional
Uma lista ordenada de filhos desse nó.
-
dateAdded
número optional
Quando esse nó foi criado, em milissegundos desde o início (
new Date(dateAdded)). -
dateGroupModified
número optional
Quando o conteúdo desta pasta foi alterado pela última vez, em milissegundos desde o período.
-
dateLastUsed
número optional
Chrome 114+Quando este nó foi aberto pela última vez, em milissegundos desde o início. Não definido para pastas.
-
folderType
FolderType opcional
Chrome 134+Se estiver presente, essa é uma pasta adicionada pelo navegador que não pode ser modificada pelo usuário ou pela extensão. Os nós filhos poderão ser modificados se esse 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 de extensões.
-
ID
string
O identificador exclusivo do nó. Os IDs são exclusivos no perfil atual e permanecem válidos mesmo após a reinicialização do navegador.
-
índice
número optional
A posição baseada em 0 desse nó na pasta mãe.
-
parentId
string opcional
O
idda pasta mãe. Omitido para o nó raiz. -
sincronizando
booleano
Chrome 134+Se este nó é sincronizado com o armazenamento da conta remota do usuário pelo navegador. Isso pode ser usado para distinguir entre as versões da conta e as versões locais do mesmo
FolderType. O valor dessa propriedade pode mudar para um nó atual, por exemplo, como resultado de uma ação do usuário.Observação: isso reflete se o nó foi salvo no provedor de contas integrado do navegador. É possível que um nó seja sincronizado por terceiros, mesmo que esse valor seja falso.
Para nós gerenciados (nós em que
unmodifiableestá definido comotrue), essa propriedade sempre seráfalse. -
título
string
O texto exibido para o nó.
-
não modificável
"managed"
opcionalIndica o motivo pelo qual esse 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). -
url
string opcional
O URL acessado quando um usuário clica no favorito. Omitido para pastas.
BookmarkTreeNodeUnmodifiable
Indica o motivo pelo qual esse 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 para a função create().
Propriedades
-
índice
número optional
-
parentId
string opcional
O padrão é a pasta "Outros favoritos".
-
título
string opcional
-
url
string opcional
FolderType
Indica o tipo de pasta.
Enumeração
"bookmarks-bar"
A pasta com o conteúdo que aparece na parte de cima da janela do navegador.
"other"
Favoritos que aparecem na lista completa de favoritos em todas as plataformas.
"mobile"
Favoritos geralmente disponíveis nos dispositivos móveis do usuário, mas que 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 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
ROOT_NODE_ID
O id associado ao nó de nível raiz.
Valor
"0"
Métodos
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
): Promise<BookmarkTreeNode>
Cria um favorito ou uma pasta no parentId especificado. Se o URL for NULL ou estiver ausente, será uma pasta.
Parâmetros
-
favorito
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera os BookmarkTreeNodes especificados.
Parâmetros
-
idOrIdList
string | [string, ...string[]]
Um único ID com valor de string ou uma matriz de IDs com valor de string.
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera os filhos do ID de BookmarkTreeNode especificado.
Parâmetros
-
ID
string
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera os favoritos adicionados recentemente.
Parâmetros
-
numberOfItems
número
O número máximo de itens para retornar.
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera parte da hierarquia de favoritos, começando no nó especificado.
Parâmetros
-
ID
string
O ID da raiz da subárvore a ser recuperada.
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera toda a hierarquia de favoritos.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
Move o BookmarkTreeNode especificado para o local fornecido.
Parâmetros
-
ID
string
-
destino
objeto
-
índice
número optional
-
parentId
string opcional
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
Remove um favorito ou uma pasta de favoritos vazia.
Parâmetros
-
ID
string
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 90 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
Remove recursivamente uma pasta de favoritos.
Parâmetros
-
ID
string
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 90 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<BookmarkTreeNode[]>
Pesquisa BookmarkTreeNodes que correspondem à consulta fornecida. As consultas especificadas com um objeto produzem BookmarkTreeNodes que correspondem a todas as propriedades especificadas.
Parâmetros
-
consulta
string | objeto
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 que corresponderem a todas as propriedades especificadas serão produzidos.-
consulta
string opcional
Uma string de palavras e frases entre aspas que correspondem a URLs e títulos de favoritos.
-
título
string opcional
O título do favorito, que corresponde exatamente.
-
url
string opcional
O URL do favorito, que corresponde exatamente. As pastas não têm URL.
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 ou mais recenteAs promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
): Promise<BookmarkTreeNode>
Atualiza as propriedades de um favorito ou de uma pasta. Especifique apenas as propriedades que você quer mudar. As propriedades não especificadas vão permanecer inalteradas. Observação: no momento, apenas "title" e "url" são aceitos.
Parâmetros
-
ID
string
-
muda
objeto
-
título
string opcional
-
url
string opcional
-
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Disparado quando um favorito ou uma pasta é alterado. Observação: no momento, apenas mudanças de título e URL acionam isso.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(id: string, changeInfo: object) => void
-
ID
string
-
changeInfo
objeto
-
título
string
-
url
string opcional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Disparado quando os filhos de uma pasta mudam de ordem devido à classificação na interface. Isso não é chamado como resultado de um move().
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(id: string, reorderInfo: object) => void
-
ID
string
-
reorderInfo
objeto
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Disparado quando um favorito ou uma pasta é criado.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(id: string, bookmark: BookmarkTreeNode) => void
-
ID
string
-
favorito
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Disparado quando uma sessão de importação de favoritos é iniciada. Observadores caros devem ignorar as atualizações de onCreated até que onImportEnded seja acionado. Os observadores ainda precisam processar outras notificações imediatamente.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Disparado quando uma sessão de importação de favoritos é encerrada.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Disparado quando um favorito ou uma pasta é movido para uma pasta pai diferente.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(id: string, moveInfo: object) => void
-
ID
string
-
moveInfo
objeto
-
índice
número
-
oldIndex
número
-
oldParentId
string
-
parentId
string
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Disparado 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
-
callback
função
O parâmetro
callbacké semelhante a:(id: string, removeInfo: object) => void
-
ID
string
-
removeInfo
objeto
-
índice
número
-
Chrome 48 ou mais recente
-
parentId
string
-
-