Plugins NPAPI:非可视插件的首选窗口模型(带窗口/无窗口/xembed)
我正在创建一个NPAPI插件,它不应该有UI(仅用于Javascript)。我应该使用什么样的窗口模式(带窗口/无窗口/xembed)来支持尽可能多的浏览器(和浏览器版本) 我目前执行以下功能:Plugins NPAPI:非可视插件的首选窗口模型(带窗口/无窗口/xembed),plugins,npapi,browser-plugin,Plugins,Npapi,Browser Plugin,我正在创建一个NPAPI插件,它不应该有UI(仅用于Javascript)。我应该使用什么样的窗口模式(带窗口/无窗口/xembed)来支持尽可能多的浏览器(和浏览器版本) 我目前执行以下功能: NPP\u设置窗口:不执行任何操作,返回NPERR\u NO\u错误 NPP\u事件:不执行任何操作,返回kNPEventNotHandled(0) NPP\u设置值:不执行任何操作,返回NPERR\u NO\u错误 NPP\u GetValue:如果要求NPPVpluginNeedsXEmbed,如
:不执行任何操作,返回NPP\u设置窗口
NPERR\u NO\u错误
:不执行任何操作,返回NPP\u事件
(0)kNPEventNotHandled
:不执行任何操作,返回NPP\u设置值
NPERR\u NO\u错误
:如果要求NPP\u GetValue
,如果浏览器支持它,回答是(NPPVpluginNeedsXEmbed
),否则回答否NPNVSupportsXEmbedBool
对于这个插件,我现在只支持Linux和Windows。NPPVpluginNeedsXEmbed是必需的,但是一些旧版本可能不支持它,因为XEmbed的示例插件仅在Firefox 2.0+上受支持 我见过的最常见的情况是根本不关心窗口模式,将对象标记设置为1x1(您可以尝试0x0,但我见过与此相关的浏览器错误),在这种情况下,您使用的窗口模式并不重要。但是,我自己也会做无窗口的,因为它不会导致商标块浮动在普通的有窗口(XEmbed或not)插件提供给您的所有其他DOM元素上
如果设置了FB_GUI_DISABLED(禁用FB_GUI_禁用)标志,则会出现这种情况。感谢您提供有关1x1尺寸的提示。省去了我费心费力地找到它的麻烦:)。你知道哪些浏览器版本支持X11上的windowless吗?据我所知,所有这些版本(都是合理的最新版本)都支持;但最坏的情况是,您告诉它执行无窗口操作,它将返回一个错误。这个错误只会迫使你进入窗口模式。既然你想让你的插件变小,那可能没什么大不了的。