internet-explorer - 在Microsoft IE和Edge中,删除包含iframe的iframe后,应用程序会继续播放声音

标签 internet-explorer audio iframe canvas microsoft-edge

我正在查看一个问题,其中包含它的iframe被删除后,canvas应用程序仍在播放声音。在Microsoft IE和Edge中会出现此问题,但在Firefox或Chromium中不会发生。

我没有使用 Canvas 的经验,也不知道 Canvas 和运行应用程序的脚本是如何加载和连接的,因此这可能与 Canvas 本身无关。我不知道。

有了更多细节,一页可以使用iframe嵌入另一页。嵌入式页面有一个使用 Canvas 和播放声音的应用程序。使用开发人员工具,当我移除整个iframe时, Canvas 会关闭,但声音会不断播放。我必须重新加载页面才能停止声音。

这似乎是IE和Edge中的错误?

我要修复的网页的iframe包含包含应用程序的iframe的页面(我对此无能为力)。是否有可能以任何方式访问保持播放声音的资源,向下移动两层已移除的iframe?

最佳答案

我们遇到了类似的问题,即从DOM中删除iframe并不能停止播放某些声音。似乎Edge可能存在一个问题,即在删除iFrame时,它没有调度正确的卸载事件...

我们的解决方案是在从DOM中删除实际的HTMLElement之前,先通过清除其src属性来删除iFrame内容。

document.querySelector('#myIFrame').src = '';

演示(使用Edge浏览器运行):https://embed.plnkr.co/vb08Tc1hJuVqtf4ejsJk/

关于internet-explorer - 在Microsoft IE和Edge中,删除包含iframe的iframe后,应用程序会继续播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831115/

相关文章:

javascript - Internet Explorer jquery :contains issue

css - div "top"错误 IE 和其他一切。大问题

javascript - Underscore.js 模板 IE9/IE10 未返回正确的代码

javascript - 浏览器中的Javascript音频支持-特质

javascript - AngularJs:将服务器端渲染的 html 绑定(bind)到 iframe

html - 在 Bootstrap 中隐藏 vimeo 播放栏

javascript - IE 问题和追加到 window.opener

java - 剪辑有时无法播放

android - 多音轨,单线程还是多线程?

javascript - 在加载之前将 css 样式应用于 iframe 页面