Descripción
Usa la API de chrome.bookmarks para crear, organizar y manipular marcadores de otras formas. Consulta también Páginas de reemplazo, que puedes usar para crear una página personalizada del Administrador de marcadores.
 
  Permisos
bookmarksDebes declarar el permiso "bookmarks" en el manifiesto de la extensión para usar la API de Bookmarks. Por ejemplo:
{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}
Conceptos y uso
Objetos y propiedades
Los marcadores se organizan en un árbol, en el que cada nodo es un marcador o una carpeta (a veces, se denomina grupo). Cada nodo del árbol está representado por un objeto bookmarks.BookmarkTreeNode.
Las propiedades de BookmarkTreeNode se usan en toda la API de chrome.bookmarks. Por ejemplo, cuando llamas a bookmarks.create, pasas el elemento superior del nodo nuevo (parentId) y, de manera opcional, las propiedades index, title y url del nodo. Consulta bookmarks.BookmarkTreeNode para obtener información sobre las propiedades que puede tener un nodo.
Ejemplos
El siguiente código crea una carpeta con el título "Favoritos de la extensión". El primer argumento de create() especifica las propiedades de la carpeta nueva. El segundo argumento define una función que se ejecutará después de que se cree la carpeta.
chrome.bookmarks.create(
  {'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
  function(newFolder) {
    console.log("added folder: " + newFolder.title);
  },
);
El siguiente fragmento crea un marcador que apunta a la documentación para desarrolladores de extensiones. Como no sucederá nada malo si falla la creación del marcador, este código no se molesta en definir una función de devolución de llamada.
chrome.bookmarks.create({
  'parentId': extensionsFolderId,
  'title': 'Extensions doc',
  'url': 'https://developer.chrome.com/docs/extensions',
});
Para probar esta API, instala el ejemplo de la API de Bookmarks desde el repositorio de chrome-extension-samples.
Tipos
BookmarkTreeNode
Es un nodo (ya sea un favorito o una carpeta) en el árbol de favoritos. Los nodos secundarios se ordenan dentro de su carpeta principal.
Propiedades
- 
    niñosBookmarkTreeNode[] opcional Es una lista ordenada de los elementos secundarios de este nodo. 
- 
    dateAddednúmero opcional Fecha y hora en que se creó este nodo, en milisegundos desde la época ( new Date(dateAdded)).
- 
    dateGroupModifiednúmero opcional Fecha y hora en que se modificó el contenido de esta carpeta por última vez, en milisegundos desde la época. 
- 
    dateLastUsednúmero opcional Chrome 114 y versiones posterioresFecha y hora en que se abrió este nodo por última vez, en milisegundos desde el ciclo de entrenamiento. No se establece para las carpetas. 
- 
    folderTypeFolderType opcional Chrome 134 y versiones posterioresSi está presente, es una carpeta que agrega el navegador y que no puede modificar el usuario ni la extensión. Se pueden modificar los nodos secundarios si este nodo no tiene establecida la propiedad unmodifiable. Se omite si el usuario y la extensión pueden modificar el nodo (opción predeterminada).Puede haber cero, uno o varios nodos de cada tipo de carpeta. El navegador puede agregar o quitar una carpeta, pero no a través de la API de extensiones. 
- 
    idstring Es el identificador único del nodo. Los IDs son únicos dentro del perfil actual y siguen siendo válidos incluso después de que se reinicia el navegador. 
- 
    índicenúmero opcional Es la posición basada en 0 de este nodo dentro de su carpeta principal. 
- 
    parentIdcadena opcional Es el idde la carpeta superior. Se omite para el nodo raíz.
- 
    sincronizandobooleano Chrome 134 y versiones posterioresIndica si el navegador sincronizó este nodo con el almacenamiento remoto de la cuenta del usuario. Se puede usar para distinguir entre las versiones de la misma FolderTypeque son solo locales y las que son de la cuenta. El valor de esta propiedad puede cambiar para un nodo existente, por ejemplo, como resultado de una acción del usuario.Nota: Esto refleja si el nodo se guarda en el proveedor de cuentas integrado del navegador. Es posible que un nodo se pueda sincronizar a través de un tercero, incluso si este valor es falso. Para los nodos administrados (nodos en los que unmodifiableestá establecido entrue), esta propiedad siempre seráfalse.
- 
    títulostring Es el texto que se muestra para el nodo. 
- 
    inmodificable"managed" 
 opcionalIndica el motivo por el que este nodo no se puede modificar. El valor managedindica que el administrador del sistema o el tutor de un usuario supervisado configuraron este nodo. Se omite si el usuario y la extensión pueden modificar el nodo (opción predeterminada).
- 
    urlcadena opcional Es la URL a la que se navega cuando un usuario hace clic en el marcador. Se omite para las carpetas. 
BookmarkTreeNodeUnmodifiable
Indica el motivo por el que este nodo no se puede modificar. El valor managed indica que el administrador del sistema configuró este nodo. Se omite si el usuario y la extensión pueden modificar el nodo (opción predeterminada).
Valor
"managed" 
 
CreateDetails
Objeto que se pasó a la función create().
Propiedades
- 
    índicenúmero opcional 
- 
    parentIdcadena opcional La configuración predeterminada es la carpeta Otros favoritos. 
- 
    títulocadena opcional 
- 
    urlcadena opcional 
FolderType
Indica el tipo de carpeta.
Enum
"bookmarks-bar" 
 Es la carpeta cuyo contenido se muestra en la parte superior de la ventana del navegador.
"other" 
 Favoritos que se muestran en la lista completa de favoritos en todas las plataformas.
"mobile" 
 Los favoritos suelen estar disponibles en los dispositivos móviles del usuario, pero se pueden modificar con una extensión o en el administrador de favoritos.
"managed" 
 Es una carpeta de nivel superior que puede estar presente si el administrador del sistema o el custodio de un usuario supervisado configuraron marcadores.
Propiedades
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Chrome ya no limita las operaciones de escritura de favoritos.
Valor
1000000 
 
MAX_WRITE_OPERATIONS_PER_HOUR
Chrome ya no limita las operaciones de escritura de favoritos.
Valor
1000000 
 
Métodos
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
Crea un favorito o una carpeta en el elemento principal especificado por parentId. Si la URL es NULL o falta, será una carpeta.
Parámetros
- 
    favorito
Muestra
- 
            Promise<BookmarkTreeNode> Chrome 90 y versiones posteriores
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
Recupera los BookmarkTreeNode especificados.
Parámetros
- 
    idOrIdListcadena | [cadena, …cadena[]] Un solo ID con valor de cadena o un array de IDs con valor de cadena 
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
getChildren()
chrome.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera los elementos secundarios del ID de BookmarkTreeNode especificado.
Parámetros
- 
    idstring 
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Recupera los favoritos agregados recientemente.
Parámetros
- 
    numberOfItemsnúmero La cantidad máxima de elementos que se mostrarán. 
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera parte de la jerarquía de marcadores, comenzando en el nodo especificado.
Parámetros
- 
    idstring Es el ID de la raíz del subárbol que se recuperará. 
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
getTree()
chrome.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Recupera toda la jerarquía de favoritos.
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
move()
chrome.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Mueve el BookmarkTreeNode especificado a la ubicación proporcionada.
Parámetros
- 
    idstring 
- 
    destinoobjeto - 
    índicenúmero opcional 
- 
    parentIdcadena opcional 
 
- 
    
Muestra
- 
            Promise<BookmarkTreeNode> Chrome 90 y versiones posteriores
remove()
chrome.bookmarks.remove(
id: string,
): Promise<void>
Quita un marcador o una carpeta de marcadores vacía.
Parámetros
- 
    idstring 
Muestra
- 
            Promise<void> Chrome 90 y versiones posteriores
removeTree()
chrome.bookmarks.removeTree(
id: string,
): Promise<void>
Quita de forma recursiva una carpeta de favoritos.
Parámetros
- 
    idstring 
Muestra
- 
            Promise<void> Chrome 90 y versiones posteriores
search()
chrome.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
Busca los BookmarkTreeNodes que coincidan con la consulta proporcionada. Las consultas especificadas con un objeto producen BookmarkTreeNodes que coinciden con todas las propiedades especificadas.
Parámetros
- 
    consultacadena | objeto Puede ser una cadena de palabras y frases entre comillas que coinciden con las URLs y los títulos de los marcadores, o bien un objeto. Si es un objeto, se pueden especificar las propiedades query,urlytitle, y se producirán marcadores que coincidan con todas las propiedades especificadas.- 
    consultacadena opcional Es una cadena de palabras y frases entre comillas que se comparan con los títulos y las URLs de los favoritos. 
- 
    títulocadena opcional Es el título del marcador, que coincide textualmente. 
- 
    urlcadena opcional Es la URL del favorito, que debe coincidir exactamente. Ten en cuenta que las carpetas no tienen URL. 
 
- 
    
Muestra
- 
            Promise<BookmarkTreeNode[]> Chrome 90 y versiones posteriores
update()
chrome.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
Actualiza las propiedades de un marcador o una carpeta. Especifica solo las propiedades que deseas cambiar. Las propiedades no especificadas no se modificarán. Nota: Actualmente, solo se admiten "title" y "url".
Parámetros
- 
    idstring 
- 
    Cambiosobjeto - 
    títulocadena opcional 
- 
    urlcadena opcional 
 
- 
    
Muestra
- 
            Promise<BookmarkTreeNode> Chrome 90 y versiones posteriores
Eventos
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Se activa cuando cambia un marcador o una carpeta. Nota: Actualmente, solo los cambios en el título y la URL activan esta acción.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(id: string, changeInfo: object) => void - 
    idstring 
- 
    changeInfoobjeto - 
    títulostring 
- 
    urlcadena opcional 
 
- 
    
 
- 
    
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Se activa cuando los elementos secundarios de una carpeta cambian su orden debido a que este se ordena en la IU. No se llama como resultado de un move().
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(id: string, reorderInfo: object) => void - 
    idstring 
- 
    reorderInfoobjeto - 
    childIdsstring[] 
 
- 
    
 
- 
    
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Se activa cuando se crea un favorito o una carpeta.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(id: string, bookmark: BookmarkTreeNode) => void - 
    idstring 
- 
    favorito
 
- 
    
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Se activa cuando se inicia una sesión de importación de marcadores. Los observadores costosos deben ignorar las actualizaciones de onCreated hasta que se active onImportEnded. Los observadores deben seguir controlando otras notificaciones de inmediato.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:() => void 
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Se activa cuando finaliza una sesión de importación de favoritos.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:() => void 
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Se activa cuando un favorito o una carpeta se mueve a otra carpeta superior.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(id: string, moveInfo: object) => void - 
    idstring 
- 
    moveInfoobjeto - 
    índicenúmero 
- 
    oldIndexnúmero 
- 
    oldParentIdstring 
- 
    parentIdstring 
 
- 
    
 
- 
    
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Se activa cuando se quita un marcador o una carpeta. Cuando se quita una carpeta de forma recursiva, se activa una sola notificación para la carpeta y ninguna para su contenido.
Parámetros
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(id: string, removeInfo: object) => void - 
    idstring 
- 
    removeInfoobjeto - 
    índicenúmero 
- 
    nodoChrome 48 y versiones posteriores
- 
    parentIdstring 
 
- 
    
 
-