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