在处理Javascript时关闭从iframe启动的ie9弹出窗口(res://ieframe.dll/acr_error.htm#,)
我已经做了所有的事情,但我无法让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上运行浏览器 编辑:在处理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更新为我发现的一个
我已经离开了,但这里有一个例子。这是通过以下命令从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">
</div>
<div>
</div>
</form>
</body>
</html>
函数doStuff(){
//注意:我包含了一个while循环,仅用于演示目的
//破碎的处理被分解成非常细粒度的小块,让浏览器呼吸,但是
//事实上,js正忙着做一些事情。。。
//这个循环让我每次都能把它放大,没有,错误..失败:|
关上窗户(砰的一声)
//是的,我可以通过设置一个间隔来做到这一点,它可以防止崩溃,但事实并非如此
//一个可行的解决方案…如果这件事永远无法实现,还不如编写我自己的浏览器/脚本引擎
//忙。。。
}
}
$(文档).ready(函数(){
警惕(‘这里…’);
doStuff();
});
…蟋蟀…尝试了更多的东西。将启动应用程序的通用js代码移动到启动应用程序的iframe。尝试加载弹出应用程序本身,间隔时间为单击。。。重新设计。放弃弹出窗口。我可以控制启动应用程序和子应用程序,所以我可以围绕overlay/div/iframe重新设计整个程序。。这是我的解决方案。仅供参考:我还尝试使用间隔在document ready func外部启动该循环…结果相同。仅供参考:我还尝试/确保从iframe启动该循环的单击。也使用间隔。。。。所以它没有嵌套在任何地方。设置导航链接url,然后每隔一段时间运行(一次)的func使用上述窗口加载链接。open()。同样的结果。