1

我们计划为 IE 和 Safari 开发一个浏览器插件,以便在专有视频播放器中流式传输视频。我们正在研究所需的技术和各种设计方法。

有人可以通过回答以下问题来提供帮助吗?

  1. 在设计插件时我们需要关注哪些方面?
  2. QtBrowserPlugin/NPAPI/XUL/firebreath 中最好的平台/框架是什么?为什么?
  3. 在插件生命周期中可能会出现哪些常见/通用问题?
  4. 请在这方面传递任何食谱/指针

感谢和问候维贾亚南德

4

1 回答 1

1

1)在设计插件时,我们需要关注哪些方面?

只有您知道您的具体要求,这取决于您使用的插件技术/框架 - 处理所有可能性将成为一本书,而不是一篇文章。

2) QtBrowserPlugin/NPAPI/XUL/firebreath 中最好的平台/框架是什么?为什么?

像往常一样,没有单一的最佳技术:

  • XUL - 这不是插件技术。
  • Plain NPAPI & ActiveX - 这些是其他解决方案为您省去的基本底层技术。除非您已经有针对这些或非常具体的需求进行开发的经验,否则我不会这样做。如果其他选项适合您,我不会在这里浪费时间,特别是如果您需要跨平台。
  • QtBrowserPlugin - 如果您已经使用 Qt,它应该是一个不错的选择,否则认为 Qt 是一个非常严重的依赖项。Qts 许可证可能不适合(LGPL 或商业)。
  • FireBreath - 相当轻量级、自由的许可证(双新 BSD/LPGL)。构建系统并不适合每个开发团队。作为它的共同所有者,我可能会有偏见。

3) 插件生命周期中可能出现的常见/一般问题是什么?

生命周期似乎有很多混乱- 您的插件存在于主机进程中并且必须遵守其行为。插件实例、它们的窗口和它们的脚本对象可以有完全不同的生命周期:
插件实例可能会被重复使用,它们的窗口不会被重复使用,来自插件实例的脚本对象可能会存活下来,等等......

4)请在这方面传递任何食谱/指针

并非针对所有可能的技术选择 - 选择一个,然后提出更具体的问题。如果您决定使用普通的 NPAPI 和 ActiveX 完全自己实现您的插件,那么至少 FireBreath 的源代码应该可以帮助您澄清一些事情。

于 2010-09-23T00:00:40.310 回答