Descrição
Use a API chrome.bookmarks
para criar, organizar e manipular favoritos. Consulte também Substituir páginas, que pode ser usada para criar uma página personalizada do Gerenciador de favoritos.
Permissões
bookmarks
É necessário declarar a permissão "bookmarks" no manifesto da extensão para usar a API de favoritos. 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 saber mais
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 snippet a seguir cria um marcador que aponta para a documentação do desenvolvedor para extensões. Como nada de ruim vai acontecer se a criação da marcação não funcionar, esse código não precisa 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 na pasta mãe.
Propriedades
-
crianças
BookmarkTreeNode[] opcional
Uma lista ordenada de filhos desse nó.
-
dateAdded
número opcional
Quando o nó foi criado, em milissegundos desde a época (
new Date(dateAdded)
). -
dateGroupModified
número opcional
Quando o conteúdo dessa pasta foi modificado pela última vez, em milissegundos desde a época.
-
dateLastUsed
número opcional
Chrome 114 e versões mais recentesQuando esse nó foi aberto pela última vez, em milissegundos desde a época. Não definido para pastas.
-
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.
-
index
número opcional
A posição baseada em 0 desse nó na pasta pai.
-
parentId
string opcional
O
id
da pasta mãe. Omitida para o nó raiz. -
título
string
O texto exibido para o nó.
-
não modificável
"managed"
optionalIndica por que esse nó não pode ser modificado. O valor
managed
indica que esse nó foi configurado pelo administrador do sistema ou pelo responsável por 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 o qual é feita a navegação quando um usuário clica no marcador de página. Omitido para pastas.
BookmarkTreeNodeUnmodifiable
Indica por que 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
"gerenciado"
CreateDetails
Objeto transmitido para a função create().
Propriedades
-
index
número opcional
-
parentId
string opcional
O padrão é a pasta "Outros favoritos".
-
título
string opcional
-
url
string opcional
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,
callback?: function,
)
Cria um favorito ou uma pasta no ID pai especificado. Se o URL estiver nulo ou ausente, será uma pasta.
Parâmetros
-
favorito
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
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 opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Recupera os filhos do ID do BookmarkTreeNode especificado.
Parâmetros
-
id
string
-
callback
função opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
Recupera os favoritos adicionados recentemente.
Parâmetros
-
numberOfItems
number
O número máximo de itens para retornar.
-
callback
função opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
Recupera parte da hierarquia de favoritos, começando no nó especificado.
Parâmetros
-
id
string
O ID da raiz do subárvore a ser recuperada.
-
callback
função opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Recupera toda a hierarquia de favoritos.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
Move o BookmarkTreeNode especificado para o local fornecido.
Parâmetros
-
id
string
-
destino
objeto
-
index
número opcional
-
parentId
string opcional
-
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Remove um favorito ou uma pasta de favoritos vazia.
Parâmetros
-
id
string
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Remove recursivamente uma pasta de favoritos.
Parâmetros
-
id
string
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Procura 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 são correspondidas aos URLs e títulos de favoritos ou um objeto. Se for um objeto, as propriedades
query
,url
etitle
podem ser especificadas, e os marcadores de páginas 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 da marcação de página; corresponde exatamente.
-
url
string opcional
O URL do favorito; corresponde exatamente. As pastas não têm URL.
-
-
callback
função opcional
O parâmetro
callback
tem este formato:(results: BookmarkTreeNode[]) => void
-
resultados
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
Atualiza as propriedades de um favorito ou 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 opcional
O parâmetro
callback
tem este formato:(result: BookmarkTreeNode) => void
-
resultado
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90 e versões mais recentesAs promessas têm suporte no Manifest V3 e versões mais recentes, mas os callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo transmitido para o callback.
Eventos
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Acionado quando uma favorita ou 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 este formato:(id: string, changeInfo: object) => void
-
id
string
-
changeInfo
objeto
-
título
string
-
url
string opcional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
É acionado quando os filhos de uma pasta mudam de ordem devido à ordenação na interface. Isso não é chamado como resultado de um move().
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(id: string, reorderInfo: object) => void
-
id
string
-
reorderInfo
objeto
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Acionado quando uma favorita ou pasta é criada.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(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. Os observadores caros precisam ignorar as 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 este formato:() => 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 este formato:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
É acionado quando um favorito ou uma pasta é movido para uma pasta mãe diferente.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(id: string, moveInfo: object) => void
-
id
string
-
moveInfo
objeto
-
index
number
-
oldIndex
number
-
oldParentId
string
-
parentId
string
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Acionado quando uma marcação ou pasta é removida. 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 este formato:(id: string, removeInfo: object) => void
-
id
string
-
removeInfo
objeto
-
index
number
-
Chrome 48 e versões mais recentes
-
parentId
string
-
-