2012-09-14 1 views
1

자바 스크립트와 플러그인 사이에 원시 데이터 (byte array ')를 전송해야하는 NPRuntime 플러그인이 있습니다. 바이트 배열은 NPVariant 개체를 사용하여 보낼 수 없다는 것을 이해합니다. 그래서 내가 solutinon을 검색하여 전송 데이터를 찾으려고합니다 :자바 스크립트와 NPAPI 플러그인간에 바이트 배열을 전송하는 방법

  1. String을 base64 인코딩으로 사용합니다.
  2. [92, 32, 43...]과 같이 문자열 (http://code.google.com/p/npapi-file-io/)의 바이트 단위로 인쇄합니다.
  3. 임시 파일로 NPStream.

제 질문은 어떻게 NPP_Write 자바 스크립트에서 NPStream을 호출 할 수 있습니다. "C"에서 나는 NPN_Write (내 플러그인에 쓰는), NPN_Write (브라우저에 쓰기)를 가지고 데이터 전송에 사용할 수 있습니다. http://www.podgoretsky.com/ftp/docs/internet/Netscape%20Plug-Ins/ch8.htm.

답변

1

NPStream을 사용하여 Javascript에서 플러그인으로 데이터를 보낼 수 없습니다. 필자가 알고있는 가장 가까운 것은 객체 또는 임베드 태그에 속성을 설정하고 플러그 인에서 해당 파일을 자동으로 다운로드하도록 스트림을 열 수 있다는 것입니다. 세부).

슬픈 사실은 NPAPI가 원하는 작업을 수행 할 수있는 확실한 방법이 없다는 것입니다. 옵션 1과 2만이 유일한 옵션이며 환상적인 것도 아닙니다. 당신이 할 수있는 또 하나의 일은 웹 서버를 만들어 플러그인 내부에서 실행 한 다음 jsonp를 사용하여 자바 스크립트에서 그와 대화하는 것입니다. FireBreath에는 라이브러리 HTTPService에 내장되어 있지만 문서화되지 않은 웹 서버가 있으며이 라이브러리는 한 번에 그런 용도로 사용되었습니다.