【问题标题】:Open/Save dialog from Netscape plugin on Mac OS X?Mac OS X 上 Netscape 插件的打开/保存对话框?
【发布时间】:2011-02-28 08:09:30
【问题描述】:

我正在为 Mac OS X 开发一个 NPAPI 插件,并且需要在不同时间打开/保存对话框。直接访问窗口失败,因为插件现在在进程外运行......但 Apple 的文档模糊地提到能够通过提供的 API 启动对话框和其他东西。

谁能解释我如何做一些事情,比如启动一个打开对话框,如果可能的话,一个模式表?我将其开发为 Safari 的 WebKit Cocoa 插件,但从 Mac OS X Lion 开始,它们现在已被弃用。

【问题讨论】:

    标签: objective-c c cocoa webkit npapi


    【解决方案1】:

    您无法打开模态表,因为您没有参考浏览器窗口;跨进程是不可能的。

    您可以使用-[NSSavePanel runModal] 等标准调用将打开/保存对话框作为模式对话框打开,因为您不需要任何窗口引用。浏览器将负责管理进程激活,以便对话框在浏览器前面结束。

    【讨论】:

    • 感谢您,我错过了 runModal,因为我没有查看 NSSavePanel 的文档(奇怪的是,它是 NSOpenPanel 的超类)。我试过 beginWithCompletionHandler 但它一直消失......模态解决方案有效。
    【解决方案2】:

    从什么时候开始不推荐使用 WebKit 插件?您是说 NPAPI 插件吗,它们在 64 位 webkit 应用程序下肯定已被弃用(因为我自己也在为此苦苦挣扎)。

    【讨论】:

    • WebKit Cocoa API 自 Safari 5.1 (WebKit2 / Mac OS X Lion) 起已弃用。在单独进程中运行的 NPAPI 插件现在是唯一可用的选项。
    • “你的意思是 NPAPI 插件,它们在 64 位 webkit 应用程序下肯定被弃用”
    • 是的,NPAPI 插件丝毫没有被弃用;它们仍在积极开发中。事实上,开源框架 FireBreath (firebreath.org) 的用户群正在以惊人的速度增长——而且很多人都在 Mac 上开发。 NPAPI 不会很快消失。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多