这是一个愚蠢的问题。 有没有办法在使用Javascript,css或HTML的Internet Explorer 10&11中始终产生此错误?
此网页存在问题,导致 Internet Explorer 关闭并重新打开该选项卡。
这不是针对恶意网页的,我需要测试一些插件并模拟IE崩溃的情况。
是否存在任何已知问题,在所有版本的IE中都会导致它显示此错误?
tldr;@CodingIntrigue的评论在Internet Explorer 11中对我有用
您可以在运行时在 html 逻辑中使用:
<script type="text/javascript">
while(true) {} //stop messing around and crash this window and let the default IE11 browser behavior open a new one
</script>
注意:此时我的浏览器窗口基本上已经充满了内存崩溃,因此很容易发生错误并且 100% 发生得很快,但我在其他更骨架的页面上看到这不会使 IE11 崩溃那么容易/可靠或快速/立即
IE11 为我的 javascript react webapp 提供了内存泄漏,我试图做一个window.open
来为我的应用程序重新启动内存,然后我想window.close
当前窗口,因为 IE11 相关的内存泄漏如此处所述,以在用户使用它时释放浏览器中窗口的内存。
问题是我无法让window.open
在内存已满错误回调中工作,因为内存太满了,它无法做到这一点,但强制 IE11 运行此默认/内部A problem with this webpage caused Internet Explorer to close and reopen the tab.
错误流可以实现相同的效果。您可能不在乎,但下一个代码是我的用例如何使用这个while
循环逻辑/策略。我为未处理的承诺添加了一个地方(如果它们被处理,它并不总是触发,我认为就像在我的反应逻辑中一样)
window.addEventListener('error', function(e) { //respond to errors
var errorMessage = e && e.message ? e.message.toString() : '',
errorType = e && e.type ? e.type.toString() : '',
targetNodeName = e && e.target && e.target.nodeName ?
e.target.nodeName.toString().toUpperCase() : '';
//personally I added more if else logic here to only do this when necessary based on `errorMessage` and `errorType`
while(true) {} //stop messing around and crash this window and let the default IE11 browser behavior open a new one
})
window.addEventListener('unhandledrejection', function(e) {
//Note - I have not got this callback invoked yet
var errorMessage = e && e.message ? e.message : '';
console.log('in unhandledrejection callback listener: ' + errorMessage, e);
}, true); //`, true` to set `useCapture` Boolean
下一部分是如果你需要填满内存(我永远无法让它工作 - 但我的内存无论如何都被填满了,所以我不需要太乱它)我从@Jaroslav Tulach的回答中得到了这个。你必须从那里弄清楚,它并没有完全修剪到你的问题
function gc(max) {
var arr = [];
for (var i = 0; i < max; i++) {
arr.push(i);
}
return arr.length;
}
//now attempt to force IE11 garbage collector to run
for (var i = 0; i < 10; i++) { // repeat until you have enough:
gc(Math.pow(2, i));
}