1

Chrome 的最新更新 (25.0.1364.97 m) 似乎搞砸了我的 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 中?真的希望比我更了解浏览器插件的人可以提供一些建议。

更新:在https://code.google.com/p/chromium/issues/detail?id=178598 报告了我的 FireBreath 插件遇到的相同问题(在屏幕上显示颜色混乱)。该帖子中建议了一种解决方法,即将插件<object>或父容器的背景颜色设置为黑色。令人高兴的是,我试过了,现在它正在工作。

4

1 回答 1

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中的示例。

于 2013-03-08T02:22:54.557 回答