如何通过 JS 删除不在 DOM 树中(存储在单独的结构中)的 html 元素
我有一个项目,我在其中发出音频请求 (html5) audio.src="someserver" 服务器长轮询并将数据发送到音频。和音频播放它。
当音频结束时,浏览器会收到停止音频的命令。
我将这些音频元素存储在 javascript 的哈希表中,而不是像标准 html/那样的 dom 结构中
所以删除父/子不适用。
据我所知,我们甚至不需要清理这些对象,因为当没有对该对象的引用时,它应该被删除(内部) 将我的音频元素设置为 NULL 就足够了。 ?
我的浏览器出现性能问题?
另外提醒一下,当我们发出音频请求时,还有 4-5 个其他长时间轮询的请求。
最佳答案
DOM 节点与任何其他 JS 对象没有太大区别。如果他们没有对它们的任何引用,则应该收集垃圾。
也就是说可能存在隐式引用。例如,如果它正在播放音频文件,浏览器本身可能会引用它以维护播放器。因此,只要音频元素完全停止并取消引用,它就会自动清理。
我觉得你想多了。
关于javascript html5元素删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149602/