0

我正在研究 Chromium PPAPI。在查看了此处官方参考的所有 API 后:https ://developer.chrome.com/native-client/cpp-api-dev ,我很少发现任何可以被 JS 使用或直接与 JS 通信的 API。在我看来,一个插件进程会建立一个 PP::instance 并且这个实例中的所有函数都会被加载。以 video_capture.cc 为例,您可以在 chromium 源代码的 /ppapi/examples/video_capture 下找到它。在这个例子中,一个名为 VCDemoInstance 的自定义 PP::instance 注册了一些方法,但我发现只有 HandleMessage() 可以与 JS 层通信。在 JS 中,您可以使用 postMessage() 将某些内容传递给上面的 HandleMessage()。

所以这是我的关键问题:有没有办法在 PP::instance 中创建或定义一个可以被 JS 层直接使用或与之通信的方法?是否可以注册一个 JS 对象并像obj.apiFromPlugin一样调用 PPAPI ?至少我知道在 Opera JSPP 框架中是可以做到的。

如果有任何问题,请纠正我。你很感激。

4

1 回答 1

0

在深入研究 PPAPI 之后,我找不到在插件中创建 JS 对象的方法。我终于切换到可以将内容 API 移植到 JS 的 Chromium 嵌入框架。使用 CefV8Handler 可以绝对解决我的问题。

于 2017-08-11T02:03:23.067 回答