javascript - 如何在右键单击之前使用 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' 会触发并且上下文菜单基于该选项卡而不是当前活动的选项卡。
我已经做了很多阅读和测试,但我还没有找到一个好的解决方案。谢谢你的帮助。
解决方案
推荐阅读
- scala - [随机出现][Spark ML ALS][AWS EMR] Checkpoint 文件夹中的 FileNotFoundException 但文件存在
- javascript - For 循环将限定元素 ID 传递给另一个函数,但在该函数中,它是整个 HTML 元素而不仅仅是 ID,为什么?
- python - Python 函数在 Django 中被调用得太快
- c - 如何使用 C 获取目录中最旧的文件?
- vue.js - 使用 Vuex 在 MySQL 中插入多条数据
- c++ - 为什么 Clang 找不到可行的构造函数?
- json - 在 React 中更改 API fetch onClick
- javascript - ngOnChanges 会更新输入属性吗?
- php - 如何在提交之前将下拉列表值存储到变量中
- woocommerce - WC 获取按总订单数排序的订单