问题标签 [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 投票
2 回答
1707 浏览

google-chrome - 需要 NPAPI、PPAPI 还是其他?

我正在寻找一些解决方案来为 Chrome OS(chromium os)开发打包应用程序(或扩展程序)。扩展程序将访问串行端口以发送用于 SMS 或呼叫功能的 AT 命令。

首先,我找到了 NPAPI,但它在 Chrome OS 中不支持(对吗?)。那么,也许是 PPAPI 和 Native Client ?如果这是关键,我会深入研究它们。

请给我一些建议。谢谢~

0 投票
1 回答
260 浏览

google-chrome - Boost 和 Nixysa

我正在使用Nixysa编写一个 NPAPI 插件。我想使用升压。出于某种原因,我没有成功包含它。

到目前为止我所尝试的:我已经通过我的包管理器(Ubuntu)安装了 Boost 库,然后将其包含在内,如下所示:

当我这样做时,代码编译成功,但插件没有加载到浏览器中。没有错误。

我该如何解决?

如果有任何更好的方法来包含 Boost,我很高兴听到它。:)

谢谢。

0 投票
1 回答
682 浏览

c++ - 你可以在浏览器插件中使用 Win32 GUI 吗?

当然这意味着你的插件不是跨平台的,但让我们专注于技术方面......

浏览器插件(如在 NPAPI 中所做的)是否受限于它的功能?或者您是否可以自由支配访问 PC 和您获得的渲染窗口?例如,您可以通过这种方式在浏览器中创建 Win32/MFC 控件吗?

一个附带问题 - 您的浏览器插件在概念上是否类似于 .DLL,因此它只是实现浏览器控制/通信的特定接口的任意编译代码?

0 投票
2 回答
647 浏览

npapi - 我必须制作多少个版本的 NPAPI 浏览器插件?

我知道如果我编写一个 C++ 插件,那么我至少需要有 Linux、Mac、Windows 版本,但完整的组合列表是什么?许多浏览器都支持 NPAPI,这是否意味着完全相同的已编译 NPAPI 插件二进制文件/安装程序/任何适用于 Windows 的东西都可以在 Windows 上支持 NPAPI 的所有浏览器中使用?或者您是否必须以某种方式为每个浏览器分别“编译”相同的插件代码?

0 投票
1 回答
33225 浏览

internet-explorer - Internet Explorer 中的 NPAPI 插件?

有什么方法可以让 NPAPI 插件在 Internet Explorer 中工作,还是我需要采用 activex 方式?

谢谢

0 投票
1 回答
1454 浏览

c++ - 使用 firebreath 的浏览器插件

我已经使用 firebreath 构建了示例插件。现在我打算编写一个插件来捕获网页中的所有事件。

请帮助如何使用 firebreath 做到这一点?

谢谢你。

0 投票
5 回答
29899 浏览

printing - Google Chrome 扩展程序:静默打印页面

我正在开发一个内部 Google Chrome 扩展,它需要一种方法来启动将当前页面打印到打印机。我不希望出现默认的打印对话框(因此,javascript:window.print() 是不可能的)。

据我了解,仅使用 JS + HTML 插件是不可能的,因此我也愿意使用 NPAPI 插件(使用虚拟 mime 类型)。而且我只关心 Windows 平台。

如果可能的话,我也愿意接受各种黑客/解决方法,尽管标准解决方案会很好。

如果您认为这是不可能的,请告诉我您是否知道为此记录了任何功能请求?

欢迎任何建议/澄清..

0 投票
3 回答
3013 浏览

javascript - 在 Chrome 浏览器中检测插件的版本

我有 NPAPI 插件,我想在将其嵌入网页之前检测它的版本。如果版本不是最新版本,我想显示一些要求用户更新插件的消息。

现在它通过以下方式实现

问题是它navigator.plugins["myplugin"].version在 Firefox 中运行良好,但在 Chrome 中却不行。Chrome 不公开version属性。我可以在 NPAPI 代码中添加我自己的属性,但在将插件嵌入页面之前我看不到我可以使用它的方式。

有什么解决方法吗?

在此先感谢,安德鲁

0 投票
1 回答
882 浏览

firefox-addon - Firefox Beta 4 未加载本机 NPAPI 插件

在过去的几天里,我一直在为此摸不着头脑,我和谷歌都没有想出一个好的解决方案。

我有一个适用于 Firefox 3.6 的原生 NPAPI 插件。它只包含一个 np*.dll,仅此而已。

现在我将它升级到 Firefox 4 Beta。我已经更改了 install.rdf 以包含新的 em:unpack 指令(XPI 在 Pre-4 中自动解包),甚至添加了一个新的 chrome.manifest,其中(据说)现在需要“二进制组件”语句(根据https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0:'在 Gecko 2 之前,在组件注册期间,所有二进制和 JavaScript 组件文件都被加载和调用,要求它们自己注册')。

问题是:插件下载并安装。但是,当它出现在 AddOn 管理器中时,它没有出现在“about:plugins”中,当然也不可用。我在启用了扩展日志记录的情况下运行了 Firefox,但那里也没有关于插件真正有用的信息。

基本上我很难过 - 请帮忙?

0 投票
2 回答
790 浏览

firefox - 如何在不使用 xpcomglue 的情况下从 NPAPI 插件获取浏览器代理?

我正在开发一个插件,我需要为给定的主机获取浏览器代理。

现在它使用nsIProtocolProxyService工作。但是,NewURI 函数(需要构造一个 URI 对象,由 nsIProtocolProxyService::resolve()使用)采用对nsACString的 const 引用 。看起来,对于它的任何具体实现,我都需要与xpcomglue链接,这是我做不到的(如果我理解正确,出于技术原因,我不应该动态链接;出于法律原因,我不能与 xpcomglue_s 静态链接) .

那么,如何在不与 xpcomglue 链接的情况下获得浏览器代理?