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É 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 browser.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.
browser.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.
browser.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+ browser.* desde o Chrome 148Quando este nó foi aberto pela última vez, em milissegundos desde o início. Não definido para pastas.
-
folderType
FolderType opcional
Chrome 134+ browser.* desde o Chrome 148Se 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+ browser.* desde o Chrome 148Se 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()
browser.bookmarks.create(
bookmark: CreateDetails,
): 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
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+ browser.* desde o Chrome 148
get()
browser.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): 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.
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+ browser.* desde o Chrome 148
getChildren()
browser.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera os filhos do ID de BookmarkTreeNode especificado.
Parâmetros
-
ID
string
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+ browser.* desde o Chrome 148
getRecent()
browser.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+ browser.* desde o Chrome 148
getSubTree()
browser.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+ browser.* desde o Chrome 148
getTree()
browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Recupera toda a hierarquia de favoritos.
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+ browser.* desde o Chrome 148
move()
browser.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Move o BookmarkTreeNode especificado para o local fornecido.
Parâmetros
-
ID
string
-
destino
objeto
-
índice
número optional
-
parentId
string opcional
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+ browser.* desde o Chrome 148
remove()
browser.bookmarks.remove(
id: string,
): Promise<void>
Remove um favorito ou uma pasta de favoritos vazia.
Parâmetros
-
ID
string
Retorna
-
Promessa<void>
Chrome 90+ browser.* desde o Chrome 148
removeTree()
browser.bookmarks.removeTree(
id: string,
): Promise<void>
Remove recursivamente uma pasta de favoritos.
Parâmetros
-
ID
string
Retorna
-
Promessa<void>
Chrome 90+ browser.* desde o Chrome 148
search()
browser.bookmarks.search(
query: string | object,
): 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.
-
Retorna
-
Promise<BookmarkTreeNode[]>
Chrome 90+ browser.* desde o Chrome 148
update()
browser.bookmarks.update(
id: string,
changes: object,
): 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
-
Retorna
-
Promise<BookmarkTreeNode>
Chrome 90+ browser.* desde o Chrome 148
Eventos
onChanged
browser.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
browser.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
browser.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
browser.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
browser.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
browser.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
browser.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+ browser.* desde o Chrome 148
-
parentId
string
-
-