首页 > 解决方案 > 如何在右键单击之前使用 Javascript 更新“上下文菜单”

问题描述

我为我的组织编写了一个与 firefox 和 chrome 一起使用的 Web 扩展。它允许用户使用键盘快捷键和右键单击快速导航到我的组织经常使用的网页。你可以认为它有点像书签,但它会根据当前网站自动将参数添加到 URL。这样可以节省一点时间,一天可以节省很多次。

我希望能够更新我的上下文菜单以仅显示相关项目。我可以根据当前的标签 URL 确定哪些项目是相关的。

有没有办法在用户看到它之前更新上下文菜单?例如 A '在右键单击之前'事件或'在上下文菜单加载之前'

目前我已经尝试使用

// When a user selects a new tab
chrome.tabs.onActivated.addListener(updateMyContextMenuCallback );

// When an existing tabs URL changes
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => { updateMyContextMenuCallback })

然而,这些方法存在一些问题。例如,当在后台打开一个新选项卡时,'chrome.tabs.onUpdated' 会触发并且上下文菜单基于该选项卡而不是当前活动的选项卡。

我已经做了很多阅读和测试,但我还没有找到一个好的解决方案。谢谢你的帮助。

标签: javascriptfirefox-addoncontextmenu

解决方案


推荐阅读