2012-09-14 64 views
1

我有一個NPRuntime插件,我需要在JavaScript和我的插件之間傳輸原始數據(byte array's)。據我所知,字節數組不能使用NPVariant對象發送。這就是爲什麼我搜索解決方案,並找到這個傳輸數據:如何在JavaScript和NPAPI插件之間傳輸字節數組

  1. 在base64編碼中使用字符串;
  2. 在字符串(http://code.google.com/p/npapi-file-io/)中逐字節地打印,如[92, 32, 43...];
  3. NPStream作爲臨時文件。

我的問題是如何從JavaScript調用NPStream的NPP_Write。 在「C」我有NPP_Write(寫入我的插件),NPN_Write(寫入瀏覽器),我可以用於傳輸數據。 http://www.podgoretsky.com/ftp/docs/internet/Netscape%20Plug-Ins/ch8.htm

回答

1

您不能使用NPStream將數據從Javascript發送到插件。最近我知道的是,可以在對象或嵌入標籤上設置一個屬性,並讓它在插件上打開一個流以自動下載該文件(雖然我從來沒有這樣做過,所以我不能給你細節)。

可悲的事實是,NPAPI沒有可靠的方法來做你想做的。選項1和2是您擁有的唯一選項,而且都不是太棒了。我猜想你可以做的另一件事是創建一個web服務器在插件中運行,然後使用jsonp與JavaScript交談。 FireBreath在庫HTTPService中有一個內置但未公開的服務器,該服務器一次用於類似的事情。

相關問題