NPAPI: предпочтительная модель управления окнами (windowed /lessless / xembed) для невизуального плагина - PullRequest
0 голосов
/ 02 июля 2011

Я создаю плагин 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.NPPVpluginNeedsXEmbed был необходим для Chrome в Linux (ошибка 38229) , однако некоторые старые версии могут не поддерживать его, так как страница MDC говорит, что пример плагина для XEmbed поддерживается только наFirefox 2.0+.

1 Ответ

2 голосов
/ 03 июля 2011

Самое распространенное, что я видел, это вообще не заботиться о режиме окон и установить для тега объекта значение 1x1 (вы можете попробовать 0x0, но я видел ошибки браузера, связанные с этим), в этом случаене имеет значения, какой режим окна вы используете.Тем не менее, я бы сам делал без окон, так как он никогда не вызовет блок торговой марки, который плавает над всеми другими элементами DOM, которые дает вам обычный оконный плагин (XEmbed или нет). делает, если установлен флаг FB_GUI_DISABLED.

...