Javascript HTML页面加载时间过长,页面变得不负责任
我的网页加载时间太长。 原因是页面有一个HTML表,它大约有3000列,每列中都有一个文本框。 是否有办法缩短装载时间,或者建议是否有其他替代方案 提前谢谢 编辑-好的,让我告诉您确切的日期,我的表需要显示日期数据,日期(如2012年12月14日)将是列标题本身。最新日期将是第一列,然后会出现过去的日期,例如(2012年12月14日| 2012年12月13日| 2012年12月12日……)每天系统日期更改时,将添加一个新列作为第一列。大约有200排。 这是一个JSP页面,在for循环中,我首先创建表头,然后在第二个for循环中创建包含textbox中的值的表单元格(以便用户可以随时编辑它们) 代码示例- 标题-Javascript HTML页面加载时间过长,页面变得不负责任,javascript,html,jsp,Javascript,Html,Jsp,我的网页加载时间太长。 原因是页面有一个HTML表,它大约有3000列,每列中都有一个文本框。 是否有办法缩短装载时间,或者建议是否有其他替代方案 提前谢谢 编辑-好的,让我告诉您确切的日期,我的表需要显示日期数据,日期(如2012年12月14日)将是列标题本身。最新日期将是第一列,然后会出现过去的日期,例如(2012年12月14日| 2012年12月13日| 2012年12月12日……)每天系统日期更改时,将添加一个新列作为第一列。大约有200排。 这是一个JSP页面,在for循环中,我首先创
<%
Date today = new Date();
String col = "";
today = RDUtils.addDays(today, 1);
for(int i=0;i<=columnCount;i++){
today = RDUtils.addDays(today, -1);
col = RDUtils.getStringDateCol(today);
%>
<th class="TableHeader"><div><%=col%></div></th>
<%} %>
最好使用分页。
并使用AJAX方法
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"sAjaxSource": '../ajax/sources/arrays.txt'
} );
} );
你能提供一个链接或一个提琴吗?你在这个页面上有一些javascript,不是吗?你可以做一件事,比如加载一些列一次,而不是通过ajax加载,但是它会增加服务器3000列或行的负载,这是有代价的?不管怎样,我想你可能想重新设计页面,也许添加搜索和/或分页?即使页面以响应方式加载,用户也很难处理信息。如果是服务器端生成的页面,您可以尝试以特定的间隔“刷新”内容。然而,这并不能保证。我更倾向于使用AJAX,但返回JSON数据并让客户端的计算机渲染。这也可以设置一个间隔来快速加载内容。谢谢Praveen,但是分页对我没有帮助,因为问题在于列数(大约3000)而不是行数。哦,列数。这是什么类型的应用程序?该应用程序用于管理定期存款(RD)的数据,客户需要查看从a/c日期(如2002年12月)开始到当前日期(如2012年12月)的数据,在这种情况下,每天大约有10年*12月*30d=3600列OMG!但我的建议是,把这个数据表留下。但是通过AJAX请求加载列是个好主意。但是您不能在表中的部分加载列,如果是这样,如何加载?
function checkEnter(e){
characterCode = e.keyCode;
return characterCode == 13;
}
function fillZero(obj){
if(obj.value==''){
obj.value = 0;
}
}
function clearField(obj){
var perfix = obj.name.substring(8, obj.name.length);
var chkObj = document.getElementById('deCheck'+perfix);
if(!chkObj.checked)chkObj.checked=true;
if(obj.value==0){
obj.value = '';
}
}
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"sAjaxSource": '../ajax/sources/arrays.txt'
} );
} );