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

npapi - 有没有人有一个简单的一步一步的Mozilla插件教程

我正在尝试创建一个 Mozilla 浏览器插件,其唯一目的是使用 javascript 检测是否安装了我编写的应用程序。这是受到另一个关于类似主题的stackoverflow问题和答案的启发。

我真正想要的只是一个 HelloWorld 类型的示例,因为我需要编写的内容会比这更简单。Mozilla 网站上有很多信息,但作为插件菜鸟和 C++ 新手,我正在经历信息过载。我只需要一步一步“这是如何创建你的第一个简单插件”。

我已经按照这个ATL 教程编写了等效的 IE。这是我理想中希望找到的那种级别的指南。

请注意,这是专门关于 Mozilla 插件而不是扩展的 - 谷歌搜索这个主题会带来很多关于插件之外的扩展信息。

0 投票
3 回答
4469 浏览

macos - 无法在 Mac OS X 上的 Google Chrome 中加载 NPAPI 插件

到目前为止,我一直试图让 Mac OS X 上的 Google Chrome (6.0.401.1 dev) 加载一个 NPAPI 插件,但没有成功。我一直在处理这里的 npsimple 示例:http://git.webvm.net/ ? p=npsimple 。

在 Mac 上使用 gcc 和在 Windows 上使用 VC++ 2008 我设法让它在 Mac OS X 上的 Safari 和 Firefox 以及 Windows 上的 Firefox 和 Google Chrome 上运行,但不能在 Mac OS X 上的 Google Chrome 上运行。

当尝试在 Mac OS X 上调试 Google Chrome 时,Google Chrome 似乎在启动时短暂地加载(并立即加载)插件,但实际上没有在插件中查找任何符号或调用任何函数。不过,它似乎对每个插件都这样做。

此外,在加载带有插件嵌入标签的页面时,谷歌浏览器似乎甚至没有对插件进行 dyld 加载,也没有调用任何函数(甚至没有调用 NP_GetEntryPoints)。谷歌浏览器也不会输出任何错误信息,它只是不加载插件。由于 Google Chrome 使用不同的进程,我不确定我是否使用 gdb 捕获了所有内容,但我也尝试了所有开关,例如--no-sandbox,--single-process--plugin-startup-dialog(顺便说一下,这在 Mac OS X 上似乎根本不起作用)。我还确定了二进制匹配的体系结构(即 Google Chrome 的 32 位)。

以前有没有人遇到过类似的问题?我在这里有什么遗漏吗,比如编译时的 gcc 开关之类的?

任何帮助将不胜感激。

0 投票
1 回答
1341 浏览

winapi - 从 NPAPI 插件中启动外部应用程序

我试图弄清楚为什么我编写的 NPAPI 插件(它在执行通过 Javascipt 调用触发的操作方面工作良好)不能使用 CreateProcess() 或 ShellExecute() 从通过 Javascript 调用指定的路径启动应用程序。

我似乎可以使用这两种方法中的任何一种,它们都返回成功,即没有错误代码。但该应用程序只是不启动。我尝试修改调用它们时使用的参数,创建新的进程组等。但似乎没有效果。

我知道这可能看起来有点安全风险,但对于我们希望使用它的特定目的来说,这应该不是问题。

使用 Windows XP Pro SP3、Firefox 3.5 和以下代码:

0 投票
1 回答
872 浏览

npapi - 不使用本地缓存是否可以使用NPAPI接口下载文件?

我正在使用 NPAPI 编写一个浏览器插件,作为插件的一部分,我需要下载一个文件。为此,我一直在使用插件加载后提供给插件的NPNetscapeFuncs结构中的NPN_GetURL函数。

这很好用,除非文件已经下载,Firefox 似乎总是将文件从本地缓存中拉出,而不是从提供的 URL 中拉出。无论我在我定义的NPP_NewStream函数中给它什么请求模式,都会发生这种情况。

是否可以绕过缓存或者我是否使用其他方法下载文件?理想情况下,只有在服务器上存在较新版本时才会下载(否则将其从缓存中取出),但现在我会满足于始终下载。

0 投票
1 回答
1327 浏览

c++ - 是否可以使用 NPAPI 函数捕获 Flash 播放器的媒体流 URL?

我正在尝试为 Chrome 制作一个视频下载面板,比如 Real Player 的(一个 DLL 插件)。
我的问题是:
“是否可以使用 NPP_NewStream、NPP_StreamAsFile、NPP_DestroyStream 等 NPAPI 函数来捕捉媒体流Flash 播放器的 URL?” 如果没有,那我必须使用 NPAPI 的哪一部分?

0 投票
1 回答
628 浏览

c++ - NPAPI 墙的 NPP_NewStream 是怎么调用的?自动还是通过插件请求?

NPP_NewStream我已经阅读了很多关于 NPAPI的文档,但我仍然不明白:如何NPAPI 调用墙壁?由浏览器自动加载,无论何时加载页面、图像、视频……还是通过我们的插件请求手动加载?

0 投票
2 回答
2079 浏览

macos - 如何在 OS X 上创建浏览器插件包

我在 linux 上为 Firefox 创建了一个 NPAPI 浏览器插件。我通过将共享库复制到用户的配置文件插件目录中来安装插件。我能够在 OS X 上构建共享库,但我不熟悉如何创建 Firefox/Chrome/Safari 可以使用的插件包。如何创建一个可以与 OS X 上的浏览​​器一起使用的插件包?

0 投票
1 回答
385 浏览

internet-explorer - Internet Explorer 和 Safari 的视频播放器插件开发

我们计划为 IE 和 Safari 开发一个浏览器插件,以便在专有视频播放器中流式传输视频。我们正在研究所需的技术和各种设计方法。

有人可以通过回答以下问题来提供帮助吗?

  1. 在设计插件时我们需要关注哪些方面?
  2. QtBrowserPlugin/NPAPI/XUL/firebreath 中最好的平台/框架是什么?为什么?
  3. 在插件生命周期中可能会出现哪些常见/通用问题?
  4. 请在这方面传递任何食谱/指针

感谢和问候维贾亚南德

0 投票
1 回答
313 浏览

internet-explorer - Internet Explorer 的 MIME 处理程序

我想为 Firefox (或任何其他理智的浏览器)提供一个等效的 NPAPI 插件。通常我需要 IE 来启动我自己的程序来响应对象标签并让它自己绘制内容。

我从哪里开始?

我试图在 MSDN 上查找它

http://msdn.microsoft.com/en-us/library/aa902517.aspx

但找不到合适的东西。

0 投票
1 回答
249 浏览

plugins - ACTIVEX 的 NPAPI Spy 之类的实用程序?

只是想知道 ActiveX Web 插件是否有任何开源实现,其功能类似于由 NPAPI Spy 实用程序实现的功能,可在以下网址获得:http: //mxr.mozilla.org/seamonkey/source/modules/plugin/tools/spy/

谢谢,
乔瓦尼