html - 接收大量数据时防止浏览器超时

原文 标签 html browser timeout

我有一个管理接口,我的一个客户机使用它,当一个进程通过web接口启动时,服务器在后端服务器上处理大量的记录。然后,该网页仅使用简单的HTML(而不是任何AJAX或其他JS)更新提供更新,如下所示:

Processing All Records: 
000000 to 000099: ....................................................................................................
000100 to 000199: ....................................................................................................
//... More Records Processed Here ...
009700 to 009799: ....................................................................................................
009800 to 009899: ..............................
Data processing complete: 9830 total records processed

这个过程可能需要一个多小时。在我使用的浏览器(IE和Crome)中,页面继续接收更新并在处理更新时显示它们。问题是,对于我的客户机(使用多个浏览器和计算机),他的屏幕在几分钟后停止显示更新,即使他等待处理完成(让他的浏览器通宵打开),他也从未收到“数据处理完成”通知。基本上,他的浏览器只是超时,甚至认为处理在服务器上继续并且处理确实完成。
HTML输出(使用经典的ASP。。。我知道,ugg)是在处理每个记录之后用一个简单的Response.Write(".")完成的。除了标准HTML<head></head><body></body>标记,不会应用其他格式,所有响应都在正文中完成(因此浏览器不会等待除正文标记之外的任何结束标记)。
我意识到我可以重写代码并使用一些漂亮的JS和AJAX调用进行更新,或者使用电子邮件更新转移到异步服务,但我想找到最简单的解决方案,不需要我对代码做太多更改。
所以,我的问题是,当我测试的所有浏览器继续接收数据时,他的浏览器/网络中的什么设置会导致他的浏览器超时?
如果有帮助,下面是输出的原始HTML:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" type="text/css" href="\css\normal.css">
</head>
<body>
Initiating data retreival at: 8/23/2012 11:02:59 AM<br>
<hr>
Processing All Records: 
<br>000000 to 000099:....................................................................................................
<br>000100 to 000199:....................................................................................................
<br>000200 to 000299:....................................................................................................
<!-- More Lines Here -->
<br>009800 to 009899:..............................<hr>
Data import complete: 9830 total records processed<br>
</body>
</html>

最佳答案

浏览器的缓存依赖于RAM和共享内存。尝试将代码限制为基于表的宽度和高度

<table style='table-layout:fixed'>

这将允许浏览器呈现表,而不必在每次添加新行时重新计算宽度
此外,基于GTK的浏览器可以帮助您达到目的,例如juniper浏览器、NetFront等。

相关文章:

css - 我是否需要为section标签设置样式以实现向后兼容?

php - CSS类无法正常工作

javascript - 浏览器自动在主屏幕上为web应用程序android生成启动器图标

java - 客户端中的GWT浏览器区别

java - Java RMI:在客户端代码中实现超时

html - HTML / CSS表和Mysql中的按钮问题

html - CSS-悬停过渡:之后

linux - 在C中关闭侦听TCP套接字

javascript - 使用innerHTML在div上插入文本时,如何阻止div识别HTML标记? [重复]

c# - 在返回值的函数上实现超时