我正在查看一个问题,其中包含它的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/