如何持续崩溃IE 10和11?复制"Internet Explorer to close and reopen the tab"



这是一个愚蠢的问题。 有没有办法在使用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));
}

相关内容

  • 没有找到相关文章

最新更新