firefox - 为什么此 Firefox 扩展代码不适用于 contextMenus 的提示或警报?
问题描述
我有以下background.js
脚本:
browser.runtime.onInstalled.addListener(function () {
browser.contextMenus.create({
id: 'add-todo',
title: 'Add a todo',
contexts: ['page']
});
});
browser.contextMenus.onClicked.addListener(function (clickData) {
if (clickData.menuItemId === 'add-todo') {
var todoName = window.prompt('Add a todo')
alert(todoName);
}
});
以及以下manifest.json
{
"manifest_version": 2,
"name": "Todo",
"version": "1.0",
"description": "Yet another todo app",
"browser_action": { "default_popup": "index.html" },
"permissions": ["contextMenus"],
"background": {
"scripts": [
"background.js"
]
}
}
右键单击时可以看到上下文菜单,但单击它什么也不做。
奇怪的是,当我通过浏览器操作按钮打开扩展程序并显示 mypopup.html
时,我可以右键单击那里并看到一个提示对话框。
我在 Chrome 中使用与webextension-polyfill
库相同的代码,它工作得很好。
Firefox 带来了什么?
解决方案
推荐阅读
- scala - 遍历 Scala 期货的 Seq 时如何减少上下文切换
- flutter - Flutter:防止抽屉在 FutureBuilder 内滑动时始终刷新
- installation - centOS7 aarch64如何安装mono
- elasticsearch - 如何在 Centos 7 中增加 elasticsearch 的堆内存?
- javascript - AFrame 1.0.3 相机不会重置为零旋转
- less - Nextjs、Ant Design 中不能使用 CSS 模块?
- python - Python循环遍历excel文件并使用pandas read_excel函数逐一读取
- ajax - 如何使用 laravel 从数据库中获取数据而无需使用 ajax 重新加载页面?
- sql - 在插入值中使用 case when 子句
- python-3.x - 在(Python 3 和 Pandas)中的数据集中转置和更改位置