我正在编写一个WebExtensions Firefox / Chrome插件,它添加了一个带有多个子菜单项的上下文菜单项。问题是需要根据当前页面动态生成子菜单项。我想我只是将onClicked函数添加到顶级项目,然后生成子菜单。但这似乎不起作用:当鼠标悬停在顶级项目上时,子菜单会扩展而不会调用onClicked函数。
有没有其他方法可以实现我想要做的事情?
// Top-level item
browser.contextMenus.create({
id: "menu_top",
type: "normal",
title: "My Extension",
contexts: ["all"],
onclick: buildMenu
})
// Permanent submenu item
browser.contextMenus.create({
id: "checkbox",
parentId: "menu_top",
type: "checkbox",
title: "Check",
checked: isChecked,
contexts: ["all"],
onclick: function() {
isChecked = !isChecked
}
})
// Generate submenu items - never called
function buildMenu(onClickData) {
// Add more submenu items
}