使用IE9加载asp.net页面时,我遇到了一个奇怪的问题。
基本上,我正在使用遗留系统,该系统正在慢慢更新并且有一些奇怪的编码。特定页面加载,然后有一个iframe加载一个不同的页面,基本上是2000年版本的异步加载。
问题是,当iframe页面正在加载时(它需要生成数据,因此它可能不会在接近半分钟或更长时间内返回),IE9将不会从当前域加载任何新页面,直到iframe页面负载。因此,如果用户访问此页面然后决定他们想要访问其他页面,则他们必须等待iframe完成加载才能浏览到其他页面。首先单击停止按钮不会执行任何操作,页面仍会一直存在,直到iframe加载为止。
这是一个企业Web应用程序,因此只支持IE,但Chrome中似乎没有出现此问题(否则页面严重损坏,但加载延迟问题不存在)
有什么想法吗?
编辑:我应该添加Response.IsClientConnected总是返回true,除非选项卡或浏览器关闭。
答案 0 :(得分:0)
单击导航离开页面的其中一个元素时,尝试执行下一个
window.frames[0].document.execCommand('Stop');
如果您有超过1帧,请调整帧数
答案 1 :(得分:0)
我找到了解决方案。
事实证明,IIS保持用户线程安全的会话,因此一次只能有一个页面访问它。当iframe中的页面正在处理时,它会锁定Session,从而使任何其他页面等到它完成,因此延迟。