Chrome的最新更新(25.0.1364.97米)似乎在我的FireBreath插件(FireBreath v1.7)中混淆了对无窗口渲染的支持。为了检查我的代码是否是问题,我尝试使用以下HTML代码的FBTestPlugin:
<object id="plugin0" type="application/x-fbtestplugin" width="300" height="300">
<param name="windowless" value="true" />
</object><br />
<object id="plugin1" type="application/x-fbtestplugin" width="300" height="300">
</object><br />"
无窗口插件(id="plugin0"
)无法在Chrome中呈现;窗口的(id="plugin1"
)确实如此。两者都适用于Firefox和IE。问题发生在winXP和win7 x86上,不确定其他平台。
这是Chrome中的错误吗?还是在FireBreath?真的希望有关于浏览器插件的知识比我更多的人可以提供一些建议。
更新
我在使用我的FireBreath插件时遇到了同样的问题(在blitting到屏幕时颜色混乱)在https://code.google.com/p/chromium/issues/detail?id=178598报告。该帖子中建议了一种解决方法,即将插件<object>
或父容器的背景颜色设置为黑色。令人高兴的是,我试过了,现在它正在运作。
答案 0 :(得分:0)
正如我原来问题的更新中所示,我在https://code.google.com/p/chromium/issues/detail?id=178598找到了合适的解决方法。 Chrome似乎将某些RGB像素数据误解为Alpha通道(透明度),因此在我的FireBreath插件中呈现给屏幕的颜色会混淆。解决方法是将插件对象的背景颜色设置为黑色(background-color: #000000;
)(在css文件或object
标签本身中)。
另一种解决方法是切换到窗口化插件(问题只发生在无窗口),但这会引入其他问题(例如需要从单独的线程等渲染)。
顺便说一下,用于将像素数据渲染到屏幕的代码来自https://gist.github.com/taxilian/1099740处的示例。