menus.getTargetElement()

返回给定 targetElementId 的元素。

此方法可用于所有扩展脚本上下文(内容脚本、后台页面和其他扩展页面),并返回给定 info.targetElementId 的元素,前提是该元素仍存在于调用该方法的文档中。

此方法仅在包含右键单击元素的文档中有效,并且 targetElementId 在用户打开另一个上下文菜单时过期。

注意: menus.getTargetElement 仅在与包含元素的文档相同的上下文中调用时才返回请求的元素,例如使用内容脚本(如下面的示例所示)。

扩展需要“menus”权限才能使用此 API。

语法

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

参数

targetElementId

传递给 menus.onClicked 处理程序或 menus.onShown 事件的 menus.OnClickData 对象的属性。

返回值

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();`,
    });
  },
});

扩展示例

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅