【问题标题】:Call external executable from NPAPI on OS X?在 OS X 上从 NPAPI 调用外部可执行文件?
【发布时间】:2010-10-01 02:35:55
【问题描述】:

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

【问题讨论】:

    标签: macos system npapi


    【解决方案1】:

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

    见:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 2016-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多