很快:如果页面包含导入'prototype.js'库的iframe,则浏览器Internet Explorer 10 x86(不是x64)中的内存使用量会增加每页加载大约0.8MB。
Detaily:
例如,我们有一个名为“test_preview.html”的页面,它导入prototype.js库。我们还有另一个页面“test_main.html”,点击“刷新”按钮打开/刷新“test_preview.html”。
test_preview.html:
<!DOCTYPE html">
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js" type="text/javascript"></script>
</head>
<body>
TEST
</body>
</html>
test_main.html:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe id="previewPane"></iframe>
<button onclick="javascript:document.getElementById('previewPane').src='test_preview.html' ">Refresh</button>
</body>
</html>
现在,如果我点击“刷新”按钮~100次,那么'iexplore.exe'进程的内存使用量将从27MB永久增加到138MB。
请注意,我只能使用32位版本的Internet Explorer 10重现此问题(可能在IE11的32位版本中可以重现)。但我无法使用IE10 x64和其他浏览器(如Chome和Firefox 29)重现这种泄漏。
有人知道这个问题吗?它是'prototype.js'库中的错误还是32位IE10中的内存泄漏?或者这不是一个错误?