bookmarks.onMoved

當書籤或資料夾移動到不同的父資料夾或資料夾內的不同位置時觸發。

注意: 如果您移動多個書籤,由於此 API 是非同步的,因此移動呼叫可能會按任何順序處理。因此,直到所有移動呼叫完成,每個書籤的索引值都可能發生變化或未知。如果與書籤關聯的索引對您的擴充套件很重要,那麼——在移動多個書籤時——擴充套件應該等待每個 bookmarks.move 呼叫完成後再移動下一個書籤。等待可以確保每個書籤關聯的索引不會受到在原始呼叫進行過程中併發執行的移動呼叫的影響。

語法

js
browser.bookmarks.onMoved.addListener(listener)
browser.bookmarks.onMoved.removeListener(listener)
browser.bookmarks.onMoved.hasListener(listener)

事件有三個函式

addListener(listener)

向此事件新增監聽器。

removeListener(listener)

停止監聽此事件。listener 引數是要移除的監聽器。

hasListener(listener)

檢查 listener 是否已為此事件註冊。如果正在監聽,則返回 true,否則返回 false

addListener 語法

引數

監聽器

此事件發生時呼叫的函式。該函式會傳遞以下引數:

id

string。被移動項的 ID。

moveInfo

object。包含有關移動的更多詳細資訊的物件。有關更多詳細資訊,請參閱 moveInfo 部分。

額外物件

moveInfo

parentId

string。新的父資料夾。

index

integer。該項在其父資料夾中的新索引。

oldParentId

string。舊的父資料夾。

oldIndex

integer。該項在其父資料夾中的舊索引。

示例

js
function handleMoved(id, moveInfo) {
  console.log(`Item: ${id} moved`);
  console.log(`Old index: ${moveInfo.oldIndex}`);
  console.log(`New index: ${moveInfo.index}`);
  console.log(`Old folder: ${moveInfo.oldParentId}`);
  console.log(`New folder: ${moveInfo.parentId}`);
}

function handleClick() {
  browser.bookmarks.onMoved.addListener(handleMoved);
}

browser.browserAction.onClicked.addListener(handleClick);

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.bookmarks API。本文件源自 Chromium 程式碼中的 bookmarks.json