menus.getTargetElement()

返回給定 targetElementId 的元素

此方法可用於所有擴充套件指令碼上下文(內容指令碼、後臺頁面和其他擴充套件頁面),並返回給定 info.targetElementId 的元素,前提是該元素仍然存在於呼叫該方法的文件中。

此方法僅在包含右鍵單擊元素的文件中有效,並且當用戶開啟另一個上下文選單時,targetElementId 將過期。

注意: menus.getTargetElement 僅在與包含元素的文件相同的上下文中呼叫時才返回請求的元素,例如使用內容指令碼(如下例所示)。

擴充套件需要“menus”許可權才能使用此 API。

語法

js
let elem = browser.menus.getTargetElement(targetElementId);

引數

targetElementId

傳遞給 menus.OnClickData 物件或 menus.onClicked 處理程式或 menus.onShown 事件的屬性。

返回值

targetElementId 引數引用的元素。如果 targetElementId 引數無效,則方法返回 null

示例

以下示例使用 getTargetElement 方法獲取 info.targetElementId 屬性引用的元素,然後將其移除。

js
browser.menus.create({
  title: "Remove element",
  documentUrlPatterns: ["*://*/*"],
  contexts: [
    "audio",
    "editable",
    "frame",
    "image",
    "link",
    "page",
    "password",
    "video",
  ],
  onclick(info, tab) {
    browser.tabs.executeScript(tab.id, {
      frameId: info.frameId,
      code: `browser.menus.getTargetElement(${info.targetElementId}).remove();`,
    });
  },
});

擴充套件程式示例

瀏覽器相容性

另見