Flash 嵌入 html 覆盖,wmode=“direct”
我正在尝试将 html 元素放置在 Flash 视频上,该视频必须使用 wmode="direct" 进行渲染(视频占据整个窗口,html UI 放置在其上,除直接之外的任何内容都会占用 CPU涌)。
我尝试过使用 iframe 来包含 Flash 视频,但仍然无法在其上放置任何元素。有解决方法可以实现这一目标吗?
I'm trying to place html elements over a flash video which must be rendered with wmode="direct" (video occupies entire window with html UI to be laid over it, anything other than direct makes CPU usage surge).
I've tried using an iframe to include the flash video, but I'm still unable to place any elements over it. Is there a workaround to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 Adobe 的 wmode 浏览器支持矩阵,当前版本的所有主流浏览器Mac 已经支持此用例。对 Windows 的支持参差不齐,据称只有 IE 9+ 可以工作。
和您一样,我正在尝试了解 Adobe 是否/何时计划在 Windows 浏览器中扩展对 wmode=direct 的 HTML 覆盖支持。链接页面仅讨论 Chrome 最高 10 和 FF 最高 4,因此自文档上次更新以来可能已经取得了更多进展。
如果我发现一些有用的东西,我会将其添加到这个答案中,在此之前,最安全的假设是您需要 Windows 上的 IE 9+ 来支持直接+覆盖。
According to Adobe's wmode browser support matrix, all major browsers at current versions on Mac already support this use case. On Windows support is spotty, only IE 9+ is claimed to work.
Like you, I'm trying to find out if/when Adobe plans to extend HTML overlay support for wmode=direct in Windows browsers. The linked page only talks about Chrome up to 10 and FF up to 4, so more progress may have already been made since the doc was last updated.
If I find out something useful I'll add it to this answer, until then it's probably safest to assume you need IE 9+ on Windows to support direct+overlay.
我们发现大多数浏览器在
wmode="direct"
时都支持 HTML 叠加 - 但是没有浏览器能够支持在 Flash 上叠加透明度。甚至 PNG 也无法正确进行 Alpha 混合。任何具有 Alpha 通道的像素都会被忽略,就好像根本没有像素一样。当创建 UI 以在 Flash 顶部分层时,我们必须“覆盖”SWF - 或者 - 使用矩形 DOM 元素(即没有圆角)
此外 - Windows 7 和旧版本上的 IE 9 根本无法覆盖 闪光灯上的任何东西。 iframe 似乎可以穿透 SWF,但 HTML 元素却不能。
We are finding that most browsers support HTML overlay when
wmode="direct"
- however no browser is able to support transparency overlayed on top of the flash. Not even PNGs can alpha blend correctly. Any pixels that have an alpha channel and ignore as if there was no pixel at all.When creating UI to layer over the top of flashs we have to "blanket out" the SWF - or - use rectangular DOM elements (ie, no rounded corners)
Furthermore - IE 9 on Windows 7 and older version simply fail to overlay anything over the flash. Iframes seem to pierce the SWF, but HTML elements do not.