我有一个适用于OS X的旧NPAPI插件,我正试图改装为使用Snow Leopard的Safari版本。我的问题是,当我将Safari切换到64位模式时,它将插件环境更改为流程模式(其中插件由32位WebKitPluginHost进程托管)。现在我的工具栏调色板在屏幕上不可见,即使它们所在的NSPanels认为它们是可见的。该文件称,不推荐使用窗户,但并不表示禁止使用窗户;有什么我可以做,以提出我的Windows?在64位Safari中显示来自32位NPAPI插件的窗口
2
A
回答
3
最可靠的解决方案是简单地让其他应用程序,可能通过一些IPC机制连接到你的插件,这样做Apple:
避免创建窗口。意图是让插件在浏览器窗口中运行。虽然有些插件历来就是这样做的,但不推荐在您的插件中创建窗口。如果你需要维护独立的窗口,你应该考虑启动一个单独的应用程序。
从某个插件启动窗口可能会在某些情况下工作,并完全打破其他窗口。通过建议不这样做,Apple可以随时打破以前的工作行为。
1
不幸的是,可能不是。如果你正在做任何使用普通图形库(CoreAnimation,Cocoa等)无法做到的事情,那么你可能无法使用64位safari中的32位插件来完成它。
不过,如果你在64位模式下编译你的插件,你可能会做得更多。我不知道: -/
0
我知道我有点晚了。 Safari不允许插件显示NSPanel。您应该尝试使用NSWindow。我知道苹果不同意。
对于显示菜单,您可以使用“popupcontextmenu”。它需要NPNSMenu这是NSMenu typecasted。
相关问题
- 1. 使用64位插件的Excel 32位
- 2. 64位预置面板显示窗口
- 3. 试图在32位窗口上运行64位测试
- 4. 允许用户在64位窗口上安装32位版本
- 5. uname输出显示64位硬件上的32位内核
- 6. C# - 在32位和64位
- 7. 64位和32位系统目录窗口
- 8. 对于用Excel和C#(32位/ 64位窗口)
- 9. XOR高32位,低32位,64位数
- 10. 64位Safari中的32位Flash播放器:如何?
- 11. 64位窗口中的ActiveX控件
- 12. 64位的32位除法
- 13. 在64位系统上使用32位DLL显示0x8007000B错误
- 14. ASP.NET/C# - 自定义PerformanceCounters只显示在64位系统上的32位perfmon
- 15. 使用来自32位处理器的64位COM对象
- 16. int_max在32位和64位环境中
- 17. 32位VB脚本无法直接在64位窗口中运行7
- 18. 安装了32位安装的Python,显示为64位
- 19. 在32位和64位机器中总是长64位
- 20. Xcode&64位&32位问题
- 21. 64位weblogic 32位oracle DB
- 22. 64位OS/32位进程
- 23. 32位64位兼容
- 24. 从32位变为64位
- 25. SharePoint 64位或32位
- 26. 32位和64位CPU/OS
- 27. 32位OpenFileDialog - > 64位System32?
- 28. SHGetFolderPath()32位与64位
- 29. 64位debian和32位酒
- 30. 32位和64位性能
谢谢。这正是我一直在想的。因此,这个问题。尽管我无法回头确认这一点,但似乎Safari 4.0.5已经更进一步,并阻止显示弹出式菜单。 – 2010-03-14 12:05:12