问题标签 [npapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1072 浏览

firefox - 如何将可编写脚本的 Mozilla 插件实例与其 NObject 关联?

我在将正在编写的插件中调用的方法与适当的插件实例相关联时遇到了问题。http://developer.mozilla.org/en/Gecko_Plugin_API_Reference/Scripting_plugins上的文档没有提供足够的信息来真正有用。

简而言之,我试图了解插件应该返回哪个可编写脚本的对象,以响应对 NPP_GetValue 的调用,其变量参数等于 NPPpluginScriptableNPObject。我猜测插件的每个实例都应该有一个 NPObject 实例,但是 NPClass 中的 invoke() 方法应该如何从作为参数给出的可编写脚本的 NPObject 中找到插件实例(NPP)?我想我可以实现一个查找表来做到这一点,但我觉得我缺少一些明显的东西。

我将指向 C++ 类实例的指针(该实例实现插件的功能)存储在 NPP 的 pdata 成员中,在 NPP_New() 中。

0 投票
2 回答
1606 浏览

c++ - 带有 VS2005/8 的 C++ 中 Firefox 的可脚本化插件的基本示例

我为 Firefox 编写插件的经验低于零。有没有人可以指出我如何使用 VS2005/8 在 C++ 中完成此任务的示例代码?

我需要在托管 html 页面中使用 JavaScript 做的事情是这样的:

0 投票
3 回答
1517 浏览

c++ - Firefox 插件在 Chrome 中崩溃

据我所知,Google Chrome 可以运行使用NPAPI编写的浏览器插件。

我写了一个在 Firefox 中可以很好地完成它的工作,但是一旦你将它嵌入到一个页面上,它就会让 Chrome 崩溃和烧毁。我什至不必调用我的任何方法,嵌入足以导致崩溃。

我该如何调试?我尝试将调试器附加到 chrome,但我得到的堆栈跟踪在 Chrome 本身的深处,就像我说的,没有“我的”实际代码正在运行,但应该只是 NPAPI 初始化代码。

我会很感激一些指示。

0 投票
2 回答
2969 浏览

flash - 使用 NPAPI 在自定义桌面应用程序中嵌入闪存?

注意:请不要只使用 Adob​​e AIR回答。我知道​​,它不适用于这种情况。

我一直在查看Gecko 插件 API 参考

我假设我必须实现所有必需的浏览器端功能。我的目标是能够在低级别访问 Flash 的图形输出,以便将它们与其他本地代码一起集成到应用程序中。Adobe AIR 是一种未来的可能性,但对于这个项目来说,性能还远远不够好。

有谁知道充当 NPAPI 插件主机的开源项目?我想替代方案是从 WebKit 等中提取必要的位。

0 投票
1 回答
648 浏览

flash - Actionscript 虚拟机 1 - 检查内存

如何确定 AVM1 的 Mozilla Flash 插件内存中当前有什么?我正在尝试调试我们构建的大型应用程序,并且需要查看收集垃圾的内容和时间。我认为我们有许多引用导致主要内容节点在用户会话期间不卸载。现在都是猜测工作。

0 投票
4 回答
594 浏览

architecture - Web 应用程序与客户端交互?

我正在设计一个 Web 应用程序,其中包含一些需要传输到客户端(非浏览器)应用程序(即 Outlook)的信息。假设客户端应用程序具有某种 API,我需要 Web 应用程序触发客户端(基于用户单击链接)以获取信息并通过其 API 将其传输到客户端应用程序。

我的第一个想法是编写一个 ActiveX 控件,我可以将安全代码传递给该控件,然后使用该信息通过我创建的 Web 服务与 Web 应用程序对话,然后 ActiveX 控件可以将接口实现到客户端应用程序中(即展望)。根据我所阅读的内容,这对于 ActiveX 是可行的。

我的问题是 ActiveX 无法在 Mozilla 浏览器或 Chrome 中运行,这会带来真正的问题,因为我需要它是多平台的。我读过关于 NPAPI 的文章,它被认为是等效的本机技术。我还阅读了有关据称支持 ActiveX 的 Firefox 和 Chrome 插件,但它们不是本机的。我需要有原生的开箱即用支持,这样用户就不必做任何特别的事情,只需单击并运行。所以这是我的问题:

1) ActiveX 是我唯一的 IE 选择吗?

2) 我需要开发 ActiveX 和 NPAPI 来支持所有客户端吗?

3)有没有更好的方法来做到这一点,我不知道?我对其他技术持开放态度,因为重点是无缝的用户体验。

感谢您的任何见解!

0 投票
2 回答
1905 浏览

c - 如何在 NPAPI C 插件中获取 NPP 实例

我用 C 编写了一个 NPAPI 插件,它需要调用NPN_Invoke函数(为了调用 JavaScript 函数)。

但是 NPN_Invoke() 将NPP实例作为参数。

只有 NP_New() 和 NP_Destroy() 函数才能通过 NPP 实例。我如何获得这个 NPP 实例?

提前致谢。

0 投票
4 回答
2096 浏览

firefox - 编写 Firefox/Netscape 插件

我正在编写一个在 Windows 上运行的 Firefox/Netscape 插件(不是扩展),我想知道你是否可以推荐任何网站来获得指导和教程?

我一直在浏览 Mozilla 文档,特别是 gecko sdk 文档以供参考,但这并不是最容易理解的。

只是想知道是否有任何好的网站可以帮助解决这个问题?还是我需要依赖 Mozilla 文档。

0 投票
2 回答
301 浏览

winapi - 如何从任何线程更新 Firefox 中的状态消息?

我在从插件代码更新 Firefox 上的状态消息时遇到了问题。

正如文档所说,调用NPN_Status仅在从主线程调用时才有效。我的要求是从 Firefox 进程中的任何线程更新状态。

任何帮助,将不胜感激!

0 投票
2 回答
667 浏览

firefox - npapi - javascript 不加载插件的内容

我使用 C++ 编写了一个 firefox 插件,并使用 将<EMBED>其加载到 html 中。

在 javascript 中,我使用 document.getElementByID 获得了嵌入式插件,但是当我尝试调用插件函数时,该函数未定义。此外,插件构造函数在加载页面时没有运行。

相同的 html 文件和插件似乎可以在某些计算机上运行,​​而在其他计算机上则不起作用。

有谁知道可能出了什么问题?我该如何调试这样的问题?