safari - 在 64 位 Safari 中显示 32 位 NPAPI 插件的窗口

标签 safari 64-bit osx-snow-leopard npapi browser-plugin

我有一个适用于 OS X 的旧 NPAPI 插件,我正在尝试对其进行 retrofit ,以便与 Snow Leopard 版本的 Safari 一起使用。我的问题是,当我将 Safari 切换到 64 位模式时,它将插件环境更改为进程外模式(其中插件由 32 位 WebKitPluginHost 进程托管)。现在我的工具栏调色板在屏幕上不可见,即使它们所基于的 NSPanel 认为它们是可见的。文档说不建议打开窗口,但没有说禁止;我可以做些什么来启动我的 Windows 吗?

最佳答案

最可靠的解决方案是简单地让另一个应用程序(可能通过某种 IPC 机制连接到您的插件)执行此操作 Apple :

Avoid creating windows. The intent is for plug-ins to operate within the browser window. Although some plug-ins have historically done so, creating windows in your plug-in is not recommended. If you need to maintain separate windows, you should consider starting a separate application.

从插件启动窗口可能在某些情况下有效,但在不同的情况下可能会完全崩溃。通过建议不要这样做,Apple 可以随时破坏您以前的工作行为。

关于safari - 在 64 位 Safari 中显示 32 位 NPAPI 插件的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317576/

相关文章:

bash - 在 mac OS X 中登录时运行脚本

mysql - 无法在 Mac OS 10.6 Snow Leopard 中启动 MySql

delphi - 为什么在 Win64 上调用 GetDIBits 失败?

go - go中结构的内存分配

css - Safari 4 的 Flash 问题

safari 的 javascript fileReader 替代品(<6)

windows - IIS 管理器 (IIS7) 中缺少“URL 重写”选项

macos - 修改 OSX 上的 "Spaces"plist 以设置默认桌面

html - Canvas 到视频在 Safari Lion/Mountain Lion 上非常慢

html - Safari 计算列高的方式与其他浏览器不同