问题标签 [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 回答
629 浏览

flash - 独立 NPAPI adobeflash 托管应用程序示例

有人可以向我指出独立 NPAPI adobeflash 托管应用程序示例的开源代码吗?

0 投票
1 回答
969 浏览

javascript - Windows 7 中的 NPAPI 插件问题

我有一个 NPAPI 插件,我已经编写并在 Firefox 3.x 上使用了一段时间,没有任何问题。

该对象定义如下 -

然后我使用以下格式调用它的方法 -

这就是我理解它应该完成的方式并且一直运行良好。但是,我最近在 Windows 7 机器(使用相同版本的 Firefox)上安装了相同的插件,现在找不到插件中定义的功能,所以我收到以下错误 -

错误:document.getElementById("pluginobj").someMethod 不是函数

插件内没有任何变化,任何被调用的方法都会发生此错误,而不是特定的方法,并且它在 Windows XP 机器上仍然可以正常工作,没有任何问题。

很迷茫!有人可以帮忙吗?谢谢。

注意:我也尝试过登录我的插件,它似乎甚至没有进入 NP_Initialize 和 NP_GetEntryPoints 方法。

我已经看到了一些建议,可能是依赖项和库链接到插件,但我不确定 win 7 上可能缺少什么?

Dependency Walker 显示“并排配置信息不正确”的错误?

0 投票
1 回答
333 浏览

plugins - FF 3.5+ 上的 XPCOM 插件支持

我有一个插件,它基本上是一个相当于 IE 的 ActiveX 控件,它支持脚本。我在我的插件中使用了 IDL 文件和 XPCOM Glue - 这在 FF 3.5 之前都可以正常工作。显然,当我从几个地方读到 XPCOM 对插件的支持已经消失时,但我仍然能够在 FF3.6 中加载和嵌入插件 - 问题是我无法从 JS 访问方法。

我现在很困惑是完全重写我的插件(删除 XPCOM 胶水)还是将 NPObject 添加到相同的插件代码以使其工作。任何用于转换的示例代码都会有所帮助,我们将不胜感激您的指导。

0 投票
2 回答
2756 浏览

google-chrome - 在 Chrome 中加载 NPAPI 插件

我有一个使用 Gecko SDK 1.9.2 开发的基于 NPAPI API(可编写脚本)的插件。该插件在 FF3.6 和 FF4 beta 上运行良好,但无法在 chrome 上检测到。

我也看不到列出的插件 - 当我在 chrome 中执行“about:Plugins”时。
我已经按照“使用注册表安装 Windows ”中的说明注册了插件。

当使用 Sysinternals 工具 Procmon.exe 监视 chrome 启动时,我发现 chrome 会尝试在我的 Plugin dll 上执行 LoadImage,无论它快速卸载它的人。

任何关于 chrome 未检测到此插件的想法都会有所帮助。

0 投票
3 回答
5572 浏览

deployment - 以最少的用户步骤部署 NPAPI 插件

情况:我已经为我的 IE 用户编写了一个运行良好的 ActiveX 控件。我构建了 .ocx,将其 CAB,签名,然后使用 EMBED 标签将其放在网站上。用户加载页面,黄色栏出现询问他们是否要安装它:他们所要做的就是点击它,我们就走了。

现在我需要构建对 FF、Chrome 和 Safari(在 Mac 上)的支持。根据我的研究,NPAPI 是做到这一点的方法,而 Firebreath 应该让它更容易。但从我所读到的,部署并不是那么容易。Windows 用户必须在 DLL 上运行“regsvr32”(我的网络用户实际上都不会这样做)。我不知道在 Mac 上会发生什么。我相信用户必须将它复制到 /Library/Internet\Plugins/ 之类的目录,这也是部署的非启动器。Firefox 用户将下载/运行 .xpi。Chrome 应该运行 .crx。

有没有人有这方面的经验?您如何为其他三大浏览器进行易于用户运行的 NPAPI 插件部署?

0 投票
0 回答
474 浏览

linux - 使用 XEmbed 会限制 OpenGL 功能吗?

我正在为 Linux 构建一个 NPAPI 插件,该插件对由插件控制的窗口使用 XEmbed 协议。我正在使用 Gtk+ 附加到窗口,用 GtkPlug 包装 XEmbed 窗口。我想在窗口上渲染一个 OpenGL 表面(使用 GtkGLExt),但是当我启用生成的 OpenGL 上下文时,我无法创建 GLSL 着色器;实际上,查询 glGetString( GL_VERSION ) 的值表明 OpenGL 的版本字符串已从“2.1 NVIDIA...”更改为“1.4 (2.1 NIVIDIA...)”,这表明 GL 驱动程序已将 OpenGL 功能降级这个情况。

我无法找到任何直接引用使用 XEmbed 对 OpenGL 功能造成的限制。有谁知道 XEmbed 是否有效地将 OpenGL 降级为固定管道?

0 投票
2 回答
2608 浏览

qt - 使用 Qt 中编写的插件并使其与 NPAPI 一起使用的简单工作示例

任何人都可以向我展示使用 Qt(导出 DLL 插件文件)的简单工作示例并使其与 NPAPI 一起使用。我想要一个简单的例子来在谷歌浏览器中测试它。任何链接,代码...谢谢

0 投票
1 回答
791 浏览

macos - global.html 无法从 safari-extension 构建器加载 NPAPI 插件,但从直接链接加载

我正在为 Mac 和 Win 开发一个 Safari 扩展。我的扩展是我的插件的触发点,我存储在 ** /Library/Internet Plug-ins/** 我的扩展的global.html正在通过对象标签调用我的插件 mime 类型

问题是在 Mac 上,我通过 safari-extz-builder 加载我的 extz,插件没有被调用,但是当我将相同的 global.html 拖到 safari 窗口时,它正在工作。同样的 global.html 在 Windows 上也可以正常工作。

我也使用通用插件“npsimple”重复了相同的过程,这给了我相同的结果(即处理直接链接但从扩展构建器加载失败)

我的 global.html 的代码:

npsimpl 的链接:

http://git.webvm.net/?p=npsimple;a=tree

我一定错过了一些非常愚蠢的东西。有任何想法吗 ??

TIA

帕里马尔达斯

OSX 10.5.8 / Safari 5.0.3

0 投票
1 回答
2384 浏览

google-chrome-extension - 准备使用 NPAPI-Plugin 来启动外部应用程序?

我需要从 Google Chrome 扩展程序启动一个外部应用程序。我需要从 javascript 传递一些参数,等到外部应用程序完成,然后在 javascript 中使用它的输出。

我做了一些阅读,这应该可以使用 NPAPI 插件(到目前为止我只关心 Windows)。

由于多年来我的 C/C++ 变得非常生疏而且我的要求非常简单,我想知道是否有人知道一个现成的 NPAPI DLL,它只做我需要的一件事:启动一个带有多个参数的 EXE 并返回它的输出?

我当然尝试了谷歌,但没有找到任何东西。非常感谢。

0 投票
1 回答
2316 浏览

javascript - NPAPI - 使用插件中的 javascript 对象/函数

我已经阅读了如何获取 DOM 元素的句柄。这是一个非常有用的链接: http://forums.mozillazine.org/viewtopic.php?f=27& t=1521545

我现在的问题是,我可以获取我创建的 Javascript 变量/对象或任意函数的句柄吗?

在页面加载时,我有一个执行类似这样的脚本......

或者

现在,在我的插件中,我希望能够从我的控制器对象中调用方法。或者,执行该函数 callme。这可能吗?我将如何去做?

谢谢,

克里斯