Spec-Zone.ru › Web Extensions

bookmarks.move()

Метод bookmarks.move() перемещает указанный BookmarkTreeNode в указанное место назначения в дереве закладок. Это позволяет перемещать закладку в новую папку и/или в новое положение внутри папки.

Предупреждение: Если ваша расширение пытается переместить закладку в корневую папку дерева закладок, вызов вернёт ошибку с сообщением: «Корень закладок не может быть изменён», и перемещение не будет завершено.

Это асинхронная функция, которая возвращает Promise.

Синтаксис

let movingBookmark = browser.bookmarks.move(
  id,                    // string
  destination           // object
)

Параметры

id

string содержащий идентификатор закладки или папки, которую нужно переместить.

destination

object, указывающий место назначения закладки. Этот объект должен содержать одно или оба следующих поля:

parentId Необязательно

string, указывающий идентификатор целевой папки. Если это значение опущено, закладка перемещается в новое место внутри текущей папки.

index Необязательно

Индекс, начинающийся с 0, указывающий позицию внутри папки, в которую нужно переместить закладку. Значение 0 перемещает закладку в начало папки. Если это значение опущено, закладка размещается в конце новой родительской папки.

Возвращаемое значение

Promise, которое будет выполнено с одиночным объектом bookmarks.BookmarkTreeNode, описывающим перемещённый узел.

Если узел, соответствующий параметру id, не найден, обещание отклоняется с сообщением об ошибке.

Примечание: Если вы перемещаете несколько закладок, из-за асинхронности этого API вызовы перемещения могут обрабатываться в произвольном порядке. Вследствие этого, значение индекса каждой закладки, возвращённое в BookmarkTreeNode, может измениться или быть неизвестным до завершения всех вызовов перемещения. Если индекс, связанный с закладкой, имеет значение для вашего расширения, то – при перемещении нескольких закладок – расширение должно ожидать завершения каждого вызова bookmarks.move перед перемещением следующей закладки. Ожидание гарантирует, что индекс, связанный с каждой закладкой, не будет затронут вызовом перемещения, выполняющимся параллельно, в то время как исходный вызов всё ещё в процессе.

Примеры

В этом примере закладка перемещается так, чтобы она была первой закладкой в своей текущей папке.

function onMoved(bookmarkItem) {
  console.log(bookmarkItem.index);
}

function onRejected(error) {
  console.log(`An error: ${error}`);
}

let bookmarkId = "abcdefghijkl";

let movingBookmark = browser.bookmarks.move(bookmarkId, { index: 0 });
movingBookmark.then(onMoved, onRejected);

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet
move Да 15 45 ? Да Нет ? ? Нет ? Нет ?

Примечание: Этот API основан на API chrome.bookmarks Chromium. Данная документация взята из bookmarks.json кода Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks/move

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API