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
bookmarks
Você 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ças
BookmarkTreeNode[] opcional
Uma lista ordenada de filhos deste nó.
- dateAdded
number optional
Quando este nó foi criado, em milissegundos desde o período (
new Date(dateAdded)
). - dateGroupModified
number optional
Quando o conteúdo desta pasta foi alterado pela última vez, em milissegundos desde a época.
- dateLastUsed
number optional
Chrome 114 ou mais recenteQuando este nó foi aberto pela última vez, em milissegundos desde o período. Não definido para pastas.
- folderType
FolderType 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
unmodifiable
definida. 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.
- ID
string
O identificador exclusivo do nó. Os IDs são exclusivos no perfil atual e permanecem válidos mesmo depois que o navegador é reiniciado.
- index
number optional
A posição baseada em zero deste nó na pasta mãe.
- parentId
string opcional
O
id
da pasta principal. Omitido para o nó raiz. - sincronizando
booleano
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
unmodifiable
está definido comotrue
), essa propriedade sempre seráfalse
. - título
string
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
managed
indica 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 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
- index
number 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 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
- idOrIdList
string | [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
- ID
string
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 ou mais recente
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Recupera os favoritos adicionados recentemente.
Parâmetros
- numberOfItems
nú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
- ID
string
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
- ID
string
- destino
objeto
- index
number optional
- parentId
string 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
- ID
string
Retorna
-
Promise<void>
Chrome 90 ou mais recente
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
Remove recursivamente uma pasta de favoritos.
Parâmetros
- ID
string
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
- consulta
string | 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
,url
etitle
poderão ser especificadas, e os favoritos correspondentes a todas as propriedades especificadas serão produzidos.- consulta
string opcional
Uma string de palavras e frases entre aspas que são comparadas com URLs e títulos de favoritos.
- título
string opcional
O título do marcador, que precisa ser idêntico.
- url
string 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
- ID
string
- muda
objeto
- título
string opcional
- url
string 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
- callback
função
O parâmetro
callback
tem esta aparência:(id: string, changeInfo: object) => void
- ID
string
- changeInfo
objeto
- título
string
- url
string 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
- callback
função
O parâmetro
callback
tem esta aparência:(id: string, reorderInfo: object) => void
- ID
string
- reorderInfo
objeto
- childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Acionado quando um favorito ou uma pasta é criada.
Parâmetros
- callback
função
O parâmetro
callback
tem esta aparência:(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 atualizações onCreated até que onImportEnded seja acionado. Os observadores ainda precisam processar outras notificações imediatamente.
Parâmetros
- callback
função
O parâmetro
callback
tem esta aparência:() => 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
tem 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
- callback
função
O parâmetro
callback
tem esta aparência:(id: string, moveInfo: object) => void
- ID
string
- moveInfo
objeto
- index
número
- oldIndex
número
- oldParentId
string
- parentId
string
-
-
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
- callback
função
O parâmetro
callback
tem esta aparência:(id: string, removeInfo: object) => void
- ID
string
- removeInfo
objeto
- index
número
- Chrome 48 ou mais recente
- parentId
string
-
-