0

MacOs 中的 NPAPI 在 NPWindow 结构中为我提供了 CGrafPtr,我需要一个 WindowRef。有没有办法从 CGrafPtr 获取 WindowRef ?

谢谢!

4

1 回答 1

2

如果您使用非常非常不推荐使用的 QuickDraw 绘图模型(使用 Carbon 事件模型),NPAPI 只会为您提供 CGrafPtr。使用 QuickDraw 模型编写一个新插件将是一个糟糕的主意:Firefox 64 位不支持它,Safari 64 位不支持它,Chrome 也不真正支持它(很快就不支持了) )。您的插件不适用于大多数用户。

相反,您应该使用 Core Animation(绘图)+ Cocoa(事件)或 CoreGraphics + Cocoa。在 Cocoa 事件模型中,故意没有办法获得对浏览器窗口的引用。现代浏览器几乎都在单独的进程中运行插件,并且不能跨进程引用窗口。

简而言之,如果您尝试制作一个需要访问浏览器窗口的新 NPAPI 插件,那么您的设计是错误的。

于 2012-05-23T08:41:04.323 回答