Chrome 扩展菜单:根据文本选择动态启用/禁用
要实现这个需求,可以使用'chrome.contextMenus.onShown'事件来检查是否有选中的文本,并根据结果来启用或禁用菜单。
首先,你需要在创建菜单时添加一个'contexts'参数,指定菜单的作用域为'selection'和'all':
chrome.contextMenus.create({
title: 'My Menu',
contexts: ['all', 'selection'],
id: 'myMenuId'
});
然后,监听'chrome.contextMenus.onShown'事件,并在事件回调函数中检查是否有选中的文本:
chrome.contextMenus.onShown.addListener(function(info, tab) {
if (info.selectionText) {
chrome.contextMenus.update('myMenuId', { enabled: true });
} else {
chrome.contextMenus.update('myMenuId', { enabled: false });
}
});
在上面的代码中,我们使用'chrome.contextMenus.update'方法来更新菜单的状态。如果有选中的文本,我们将菜单设置为启用状态('enabled: true'),否则设置为禁用状态('enabled: false')。
这样,菜单将在选中文本时启用,在没有选中文本时禁用。
原文地址: https://www.cveoy.top/t/topic/hF1w 著作权归作者所有。请勿转载和采集!