Kyl*_*le 7 javascript safari iframe memory-leaks internet-explorer-11
我有以下 HTML 可以重现我看到的问题。随着我随着时间的推移添加/删除 IFrame,浏览器永远不会释放 IFrame 内存。因此,内存会随着时间的推移而增长,从而导致性能下降。我已经在 Safari/IE11/Edge 上看到了这种影响,而 Firefox/Chrome 处理得更好。有没有人有关于如何规避 IFrame 内存泄漏的任何提示?
<html>
<body>
<button onclick="add()">ADD</button>
<button onclick="remove()">REMOVE</button>
<script>
function add() {
var ifrm = document.createElement('iframe');
ifrm.setAttribute('id', 'ifrm');
ifrm.setAttribute('src', 'http://somewebsite.com');
document.body.appendChild(ifrm);
}
function remove() {
document.body.removeChild(document.getElementById('ifrm'));
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
小智 1
尝试以下操作:
只有iframe的页面是自己开发的,才可以进行操作2和3。
如果你执行了1和2,那么chrome将立即释放iframe页面分配的js堆。
如果你执行了 1、2 和 3,那么 Firefox 也会立即释放 js 堆。
但是,即使您执行了上述所有操作,Safari 在一段时间内也不会释放 js 堆。
归档时间: |
|
查看次数: |
1230 次 |
最近记录: |