Safari NPAPI 插件和视网膜支持

Posted

技术标签:

【中文标题】Safari NPAPI 插件和视网膜支持【英文标题】:Safari NPAPI plugins and retina support 【发布时间】:2014-11-04 14:28:35 【问题描述】:

我的 Safari NPAPI 插件支持视网膜屏幕时遇到问题。

我正在使用基于 CoreGraphics 的插件,由于某种原因,我正在使用的窗口返回的 backingScaleFactor 在视网膜屏幕上是 1 而不是 2。

我试图寻找一些配置参数,但没有成功。

我可以让它工作的唯一方法是创建一个 NSWindow 的子类并覆盖 backingScaleFactor 以返回 2。但是,我找不到从插件本身检测视网膜屏幕的方法。

有什么想法吗?

【问题讨论】:

【参考方案1】:

不幸的是,可能没有办法。您无法获得您正在使用的 NSWindow,因此无法确定您正在使用哪个显示器。如果 Safari 无法满足您的需求,则可能别无选择。

【讨论】:

【参考方案2】:

但是,我找不到从插件本身检测视网膜屏幕的方法。

您可以使用NPNVcontentsScaleFactor 查询此信息,并在其更改时获取更新。

【讨论】:

使用 Safari 查询 NPNVcontentsScaleFactor 总是给我 1。我正在使用以下方法进行操作:“boost::shared_ptr<:npapi::npapibrowserhost> npapihost = FB::ptr_cast<:npapi::npapibrowserhost>(m_host); double contentsScaleFactor = 1.0; npapihost-> GetValue(NPNVcontentsScaleFactor, &contentsScaleFactor); 有什么想法吗?

以上是关于Safari NPAPI 插件和视网膜支持的主要内容,如果未能解决你的问题,请参考以下文章

我正在寻找一个 NPAPI 插件吗?

UOS浏览器不支持NPAPI插件,怎么办?

Chrome禁用NPAPI插件(包含 SilverlightJava 和 Unity)

谷歌 不支持 activeX插件

是否有可用的音频/声音 NPAPI 插件?

Flash / Java Applet 的 NPAPI 插件的替代品