1

我正在 OS X 上开发一个应用程序(下载管理器类型),我想通过 Mozilla 插件 API NPAPI 与主要的 Mac 浏览器(Safari、Firefox、Chrome、Opera、Camino)集成。我对如何在 Mac 上注册我的应用程序以处理特定的 URL 和文件类型(通过启动服务 API、info.plist 文件等)有基本的了解,并且我还了解我可以注册特定的 MIME 类型在 NPAPI 中。但是,我在 NPAPI 文档中几乎看不到与外部应用程序集成的挂钩,即通过NPN_GetURL()单击超链接获取 URL 并将此数据传递给外部应用程序。我发现调用外部应用程序的唯一参考是systemC 中的函数,我发现很难相信这是可以完成的唯一方法。我知道其他 Mac 应用程序(下载管理器)能够以这种方式与浏览器集成,但是关于它的文档似乎很少。我是否误解了 NPAPI 的目的?

4

2 回答 2

1

是的,您误解了 NPAPI 的目的。对于拦截点击链接和更改浏览器行为等事情,您需要编写浏览器扩展,而不是插件。

看:

于 2010-10-01T05:01:59.907 回答
0

NPAPI 的实际 API 非常有限;他们通过直接系统调用完成的大部分插件。system不是你唯一的选择——你可以使用任何你会使用任何 OS X 应用程序(NSWorkspace、Apple 事件、IPC 到launchd注册服务等)的东西——但是你不会在 NPAPI 中找到一个调用来做你想做的事.

于 2010-10-01T13:08:20.683 回答