2

我已经完成了所有工作,但我无法让 ie9 在弹出窗口中关闭我正在访问的应用程序后幸存下来。我已经重新安装了 ie,我有所有最新的 Windows 更新,我已经将 JQuery 从 1.6.4 更新到 1.9.1,我尝试强制 ie7、ie8 模式(取出“边缘”设置等),确保我的启动应用程序/父窗口设置为完全相同的版本,我已重置即设置,我已禁用所有附加组件。网站就像 Chrome 中的魅力一样(尽管 Chrome 也有一定的缺点,为此,它可以工作)。我必须使用 ie - 别无选择。(...出于绝望,我还建议将 Java 更新为我发现的一个线程)。此外,启动应用程序和弹出应用程序都在同一台机器上提供服务。

我有一个父应用程序,除其他外,它提供了一个菜单,我想从中启动我的其他应用程序。这个其他应用程序将大量数据加载到一个相当复杂、健壮且功能强大的 gui 中。但是,有时当我关闭窗口时,我会收到此错误:res://ieframe.dll/acr_error.htm#,最初我怀疑我的 AJAX 正在加载...在加载时关闭等。

这并不是说。问题不在于子窗口有错误......谁在乎,我正在关闭它......我的问题是父窗口爆炸了。

我已经隔离了这个问题 - 每次都能根据命令让它发生。如果 Javascript(在子应用程序中)正在处理 - 任何东西......我关闭窗口,使父窗口中断并尝试重新加载。(我启动子应用程序的菜单位于iframe 中。这应该没关系,但我可能不得不接受一些现实)

我已将所有内容缩减为一个处理循环,该循环使用返回的大量数据来处理和准备 gui。我已经在一定程度上引入了间隔,即一次只执行大型例程中的一个命令,通过增加 PC 给浏览器一个喘息的机会,并设置另一个间隔以返回直到事情完成。在我的“主要”程序之前,我已经对所有例程进行了此操作。

我有一个微调器,当浏览器(ie9)忙于使用 Javascript(本机或通过 JQuery,似乎无关紧要)时,它显然会停止......当微调器暂停时,我关闭窗口:繁荣,父崩溃。(如果我在微调器运行时单击关闭,并且浏览器正在呼吸,则触发卸载事件,并且一切正常关闭..虽然仍然不如 Chrome 流畅,但是..)

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

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

在 Windows 7 上运行浏览器。

编辑:


我继续前进,但这里有一个例子。这是使用以下命令从 iframe 启动的:window.open(url, '', 'width=1280,height=730,top=0,left=0,scrollbars=yes,titlebar=no,resizable=yes', '');

在“这里...”警报后关闭窗口。繁荣。

<%@ 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>
4

0 回答 0