为什么此Firefox扩展代码不能与contextMenu的提示或警报一起使用?

问题描述

我有以下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"
    ]
  }
}

右键单击时我可以看到上下文菜单,但是单击它不会执行任何操作。

奇怪的是,当我通过浏览器操作按钮打开扩展程序,并显示我的popup.html时,我可以右键单击此处并看到提示对话框。

我在Chrome和webextension-polyfill库中使用了相同的代码,并且效果很好。

Firefox有什么用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...