在处理Javascript时关闭从iframe启动的ie9弹出窗口(res://ieframe.dll/acr_error.htm#,)

在处理Javascript时关闭从iframe启动的ie9弹出窗口(res://ieframe.dll/acr_error.htm#,),javascript,iframe,crash,popup,internet-explorer-9,Javascript,Iframe,Crash,Popup,Internet Explorer 9,我已经做了所有的事情,但我无法让ie9在关闭一个弹出窗口中访问的应用程序后存活下来。我已重新安装ie,我有所有最新的windows更新,我已将JQuery从1.6.4更新到1.9.1,我已尝试强制ie7、ie8模式(去掉 “边缘”设置等),确保我的启动应用程序/父窗口设置为完全相同的版本,我已重置ie设置,我已禁用所有加载项。该网站在Chrome中表现得很有魅力(尽管Chrome也有一定的吸引力,但在这方面,它是有效的)。我必须使用ie——别无选择。(…出于绝望,我还将Java更新为我发现的一个

我已经做了所有的事情,但我无法让ie9在关闭一个弹出窗口中访问的应用程序后存活下来。我已重新安装ie,我有所有最新的windows更新,我已将JQuery从1.6.4更新到1.9.1,我已尝试强制ie7、ie8模式(去掉 “边缘”设置等),确保我的启动应用程序/父窗口设置为完全相同的版本,我已重置ie设置,我已禁用所有加载项。该网站在Chrome中表现得很有魅力(尽管Chrome也有一定的吸引力,但在这方面,它是有效的)。我必须使用ie——别无选择。(…出于绝望,我还将Java更新为我发现的一个线程,建议)。此外,启动应用程序和弹出应用程序都由同一台机器提供

我有一个父应用程序,它提供了一个菜单,我想从中启动另一个应用程序。另一个应用程序将大量数据加载到一个相当复杂、健壮且功能相当强大的gui中。然而,有时当我关闭 在窗口中,我得到以下错误:res://ieframe.dll/acr_error.htm#,最初我怀疑我的AJAX加载。。。装载时关闭等

不是那样的。问题不是子窗口有错误…谁在乎,我正在关闭它。。。我的问题是家长ie窗口爆炸了

我已经隔离了这个问题——可以在命令下让它每次都发生。如果Javascript(在子应用程序中)正在处理任何内容。。。然后我关闭窗口,砰的一声,父窗口中断并尝试重新加载。(我启动儿童应用程序的菜单位于 iframe..这不重要,但我可能不得不接受一些现实)

我将所有内容缩减为一个处理循环,使用返回的大量数据准备gui。我引入了间隔,使大型例程中一次只能执行一个命令,从而使浏览器有机会 通过增加一台电脑来呼吸,并设置另一个时间间隔,直到事情完成。在我的“主要”程序之前,我已经完成了所有的例行程序

我有一个微调器,当浏览器(ie9)忙于使用Javascript时,它显然会停止(无论是本机的还是通过JQuery的,似乎都不重要)…当微调器暂停时,我关闭窗口:boom,父进程崩溃。(如果我在微调器运行时单击“关闭”,并且浏览器处于呼吸状态,则会触发卸载事件,并且所有内容都会正常关闭..虽然仍然不如Chrome平滑,但..)

认为这是我的AJAX加载,我尝试了关闭窗口时的清理例程。然而,当它崩溃时,它甚至不会被解雇

我觉得这一切都很疯狂…亲爱的ie,窗户正在关闭…任何感知到的问题都应该在那里意识到,你不应该炸毁父母。同样,Chrome可以毫无问题地处理这个场景

在Windows 7上运行浏览器

编辑:


我已经离开了,但这里有一个例子。这是通过以下命令从iframe启动的:window.open(url,,'宽度=1280,高度=730,顶部=0,左侧=0,滚动条=是,标题栏=否,可调整大小=是',''

在“此处…”警报后关闭窗口。轰

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Nunyabusiness.Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

<style type="text/css">


</style>

<script src="http://Nunyabusiness/Javascript/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="http://Nunyabusiness/Javascript/jquery-ui-1.10.2.custom.min.js" type="text/javascript"></script>

<script type="text/javascript" language="javascript">

    function doStuff() {

        // NOTE: I have included a while loop only for demonstration purposes. In my code I have 
        //       broken processing up in to very granular bits to let the browser breath, but the
        //       fact is, there is going to be *some* point where js is busy doing stuff...
        //       This loop just lets me blow it up, every time, without, err.. fail :|

        while (1) { // close the window, ie go boom

            // yes I can do this by setting an interval, and it prevents the crash, but that's not
            // a feasible solution... might as well write my own browser/scripting engine if this thing can *never* 
            // be busy...
        }
    }

    $(document).ready(function () {

        alert('here...');

        doStuff();
    });

</script>

</head>
<body>
<form id="form1" runat="server">

<div id="divBusy">&nbsp;
</div>    

<div>

</div>
</form>
</body>
</html>

函数doStuff(){
//注意:我包含了一个while循环,仅用于演示目的
//破碎的处理被分解成非常细粒度的小块,让浏览器呼吸,但是
//事实上,js正忙着做一些事情。。。
//这个循环让我每次都能把它放大,没有,错误..失败:|
关上窗户(砰的一声)
//是的,我可以通过设置一个间隔来做到这一点,它可以防止崩溃,但事实并非如此
//一个可行的解决方案…如果这件事永远无法实现,还不如编写我自己的浏览器/脚本引擎
//忙。。。
}
}
$(文档).ready(函数(){
警惕(‘这里…’);
doStuff();
});

…蟋蟀…尝试了更多的东西。将启动应用程序的通用js代码移动到启动应用程序的iframe。尝试加载弹出应用程序本身,间隔时间为单击。。。重新设计。放弃弹出窗口。我可以控制启动应用程序和子应用程序,所以我可以围绕overlay/div/iframe重新设计整个程序。。这是我的解决方案。仅供参考:我还尝试使用间隔在document ready func外部启动该循环…结果相同。仅供参考:我还尝试/确保从iframe启动该循环的单击。也使用间隔。。。。所以它没有嵌套在任何地方。设置导航链接url,然后每隔一段时间运行(一次)的func使用上述窗口加载链接。open()。同样的结果。