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 表格仅在浏览器中加载