0

我正在创建一个不应该有 UI 的 NPAPI 插件(仅用于 Javascript)。我应该使用什么窗口模型(windowed/windowless/xembed)来支持尽可能多的浏览器(和浏览器版本)?

我目前实现以下功能:

  • NPP_SetWindow: 什么都不做,返回NPERR_NO_ERROR
  • NPP_Event: 什么都不做,返回kNPEventNotHandled(0)
  • NPP_SetValue: 什么都不做,返回NPERR_NO_ERROR
  • NPP_GetValue: 如果被询问NPPVpluginNeedsXEmbed,如果浏览器支持,则回答是(NPNVSupportsXEmbedBool),否则回答否

对于这个插件,我现在只支持 Linux 和 Windows。这对于 Linux 上NPPVpluginNeedsXEmbed的 Chrome 是必需的(错误 38229),但是一些旧版本可能不支持它,因为MDC 页面说 XEmbed 的示例插件仅在 Firefox 2.0+ 上受支持。

4

1 回答 1

2

我见过的最常见的是完全不关心窗口模式并将对象标签设置为 1x1(您可以尝试 0x0,但我已经看到与此相关的浏览器错误)大小,在这种情况下它不会真的很重要你使用什么窗口模式。但是,我自己会做无窗口,因为它不会导致商标块浮动在普通窗口(XEmbed 或非 XEmbed)插件给你的所有其他 DOM 元素上。

如果设置了 FB_GUI_DISABLED 标志,这就是FireBreath所做的。

于 2011-07-03T06:44:58.197 回答