Google chrome extension 外部页面可以调用npapi插件(Firebreath),但chrome扩展页面不能调用

Google chrome extension 外部页面可以调用npapi插件(Firebreath),但chrome扩展页面不能调用,google-chrome-extension,npapi,firebreath,http-proxy,Google Chrome Extension,Npapi,Firebreath,Http Proxy,npapi插件是对FBTestPlugin的轻微修改 插件当前在清单中定义为public。现在,可以从调用plugin方法。但在扩展的任何页面中都没有,我尝试了背景页面和选项页面。选项页面中有一个方法runProxy(),它与外部页面的作用相同,但插件对象找不到任何方法 您可以下载chrome扩展,然后试用 我用命令行在Linux中调试 sudo /opt/google/chrome/chrome --plugin-launcher='xterm -e gdb --args' --user-da

npapi插件是对FBTestPlugin的轻微修改

插件当前在清单中定义为public。现在,可以从调用plugin方法。但在扩展的任何页面中都没有,我尝试了背景页面和选项页面。选项页面中有一个方法runProxy(),它与外部页面的作用相同,但插件对象找不到任何方法

您可以下载chrome扩展,然后试用

我用命令行在Linux中调试

sudo /opt/google/chrome/chrome --plugin-launcher='xterm -e gdb --args' --user-data-dir='/tmp/liruqi'
发现这可能是问题所在

[6958:6958:10328544637:ERROR:extension_prefs.cc(955)] Bad or missing pref 'state' for extension 'mpeobcmgemcjlkjkmgialddejohkigkg'

但是,出于安全考虑,我希望插件可以定义为私有的(仅称为扩展页)。如何修复?

如果希望它是私有的,则需要在manifest.json中指定“public”:false作为开始。至于为什么您不能从扩展中使用它,我不知道。我将仅使用FBTestPlugin的测试页面重试。我创建了一个新的chrome扩展,仅使用一个测试页面,测试页面是从FBTestPlugin复制的。仍然不起作用。我必须尝试扩展中的原始FBTestPlugin。如果它仍然不起作用,那么它似乎是一个问题。你可以尝试加入一些在上述情况下被证明有效的插件,这样你就可以看到它是一个插件还是安装问题。