NPAPI插件之上的HTML

NPAPI插件之上的HTML,第1张

概述在我使用FireBreath和OpenGL编写浏览器插件并使用对象标签嵌入插件后,我尝试在插件上叠加各种 HTML元素.不幸的是,无论我尝试什么,标签和插件图形始终位于页面上任何其他HTML元素的顶部. 据我所知,flash插件允许HTML覆盖如下: <param name="wmode" value="transparent"> 是否有通用的方法来启用HTML叠加或标记?如果没有,有没有办法在N 在我使用FireBreath和OpenGL编写浏览器插件并使用对象标签嵌入插件后,我尝试在插件上叠加各种 HTML元素.不幸的是,无论我尝试什么,标签和插件图形始终位于页面上任何其他HTML元素的顶部.

据我所知,flash插件允许HTML覆盖如下:

<param name="wmode" value="transparent">

是否有通用的方法来启用HTML叠加或标记?如果没有,有没有办法在NPAPI / ActiveX插件上启用叠加,或者FireBreath是否支持此功能?

自从我开始编程以来,StackOverFlow一直是我的主要资源,非常感谢大家!

解决方法 插件有两种类型;窗口无窗. FireBreath确实支持无窗口插件(从你的插件类中的 isWindowless函数返回true.如果你做一个无窗口插件,那么你可以在插件上覆盖HTML.如果你做一个窗口插件,那么你不能.

然而,它并不像听起来那么容易.如果你四处阅读,你会发现闪存的wmode = transparent性能不如普通的wmode好,原因是为了绘制无窗口,你必须只在浏览器指示时绘制.幸运的是,您可以要求浏览器告诉您重绘(在FireBreath中通过调用PluginwindowlessWin对象上的InvalIDateWindow作为您的窗口).

不幸的是,在没有窗口的绘图模式下,你没有得到一个hWND – 只是一个hDC,它只在绘制事件的持续时间内有效(FireBreath中的RefreshEvent).我可以确定,你不能在hDC上创建一个可以在绘制调用之间改变或消失的opengl绘图上下文,所以我看到一个opengl插件在windows上使用无窗口绘图的唯一方法是在屏幕外绘制然后使用GDI将位滑动到hDC.

下面是一个使用任何一种绘图(窗口或无窗口)绘制原始位图的示例,可以帮助您巩固对我上面尝试解释的内容的理解:https://gist.github.com/1068352

总结

以上是内存溢出为你收集整理的NPAPI插件之上的HTML全部内容,希望文章能够帮你解决NPAPI插件之上的HTML所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存