1

我有一个 NPRuntime 插件,我需要在其中byte array在 javascript 和我的插件之间传输原始数据('s)。据我了解,不能使用NPVariant对象发送字节数组。这就是我搜索解决方案并找到传输数据的原因:

  1. 在 base64 编码中使用字符串;
  2. 在字符串中逐字节打印(http://code.google.com/p/npapi-file-io/),例如[92, 32, 43...]
  3. NPStream 作为临时文件。

我的问题是如何从 javascript 调用 NPP_Write for NPStream。在“C”中,我有可用于传输数据的 NPP_Write(写入我的插件)、NPN_Write(写入浏览器)。 http://www.podgoretsky.com/ftp/docs/internet/Netscape%20Plug-Ins/ch8.htm

4

1 回答 1

1

您不能使用 NPStream 从 Javascript 向插件发送数据。我所知道的最接近的是可以在您的对象或嵌入标签上设置一个属性,并让它在插件上打开一个流以自动下载该文件(尽管我从未这样做过,所以我不能给你细节)。

可悲的事实是 NPAPI 没有可靠的方法来做你想做的事。选项 1 和 2 是您拥有的唯一选项,而且都不是很好。我想您可以做的另一件事是创建一个 Web 服务器以在插件内运行,然后使用 jsonp 从 javascript 与该服务器对话。FireBreath在 HTTPService 库中有一个内置但未记录的网络服务器,曾经用于类似的事情。

于 2012-09-14T13:23:26.350 回答