【问题标题】:Return an integer/String from NPAPI plugin to JavaScript(Not using FireBreath)从 NPAPI 插件返回一个整数/字符串到 JavaScript(不使用 FireBreath)
【发布时间】:2012-10-11 10:54:59
【问题描述】:

谁能用示例解释一下...?
如何从 NPAPI 插件(不使用 FireBreath)将整数/字符串返回给 JavaScript? 我搜索了很多..但无法得到相关答案。

【问题讨论】:

    标签: javascript plugins npapi


    【解决方案1】:

    你需要创建一个 NPObject 的 Scriptable 类:Simple class definition and implementation

    您可以在 Firefox/Chrome 浏览器中使用这篇文章。它与您的问题非常相似,并且具有调用和 JavaScript/html 的代码。 here.

    如果您还没有阅读至少第 1-3 部分的taxillian 插件博客,我会说这是必读的。仔细阅读很多我在阅读时略读而错过的信息。

    Part 1

    Part 2

    Part 3

    【讨论】:

    • 如他所说;特别是您需要创建具有所需值的 NPVariant。 int32 很简单(有关帮助宏,请参阅code.google.com/p/npapi-sdk/source/browse/trunk/headers/…),字符串稍难一些,因为您需要使用 NPN_MemAlloc 分配字符串。见npapi.com/memory
    • 谢谢..我刚刚返回了一个整数值。还有一件事是我只想将一个 char 数组返回给 javaScript。怎么可能?字符映射[50][50] = {0};这是那个数组..我读了你的教程,由于二进制文件的一些依赖性问题,我不能使用 fireBreath。所以我是 NPAPI 的新手。希望你能帮忙..你能放一些样品吗?
    • 我没有亲自返回数组,但这似乎是你同样的问题:stackoverflow.com/questions/12078250/…
    【解决方案2】:

    找到了解决办法。
    从 NPAPI 插件返回一个字符串

    char* npOutString = (char *)pNetscapefn->memalloc(strlen(StringVariable) + 1);

    if (!npOutString) return false; strcpy(npOutString, StringVariable); STRINGZ_TO_NPVARIANT(npOutString, *result);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2011-04-14
      • 2014-01-30
      相关资源
      最近更新 更多