我正在开发一个14列宽,最多25行的电子表格样式输入页面。当任何特定的单元格获得焦点时,可以使用另外4个文本框和1个具有3个选项的无线电选择。
换句话说,我有14列25行,相当于350个单元格。这些单元格中的每一个都有4个文本输入和1个无线电选择(有3个选项),总共有1750个字段。还有一些元区域,所以1800是对表格中总字段的一个非常好的估计。
我已经在旧版本的IE上遇到了一些JS性能问题(惊喜!),因为相当多的JS参与显示/隐藏不同的字段以保持ui可用。我认为我的JS工作得很好,但我继续微调。
这让我回到原来的问题; HTML表单中输入元素数量的实际限制是什么?
PS。我不是要求选择如何重新设计我的界面或系统的设计。我问了一个问题,我很想知道其他人在类似情况下的经历。
答案 0 :(得分:3)
虽然1800元素很多,但您的JS会对页面内性能产生更大的影响。你提到你已经注意到IE中的性能损失(震撼),所以尝试禁用JS的块来看看每个效果的性能(在那些浏览器中)会很有趣。此过程可能有助于识别哪些部分可能导致不同浏览器出现瓶颈。
我猜你在用户去的时候通过AJAX提交任何输入的数据。如果没有,您可能会在提交时遇到问题。
除了页面性能之外,您可能应该关注文档大小和页面加载时间。看起来您的网页很快就会变得沉重。因此,页面加载中包含的字段越少越好。
至于你的元素限制问题的直接答案,我不相信我曾经遇到太多问题(除了页面大小问题)。仍然感觉是限制最初加载量的良好做法,并提出了根据需要提供新行,字段等的方法。
祝你好运!答案 1 :(得分:2)
假设DOM在任何特定浏览器上都没有硬限制(而且这种情况不太可能),您的实际限制将根据您的浏览器以及您正在使用的内容而有所不同。所有这些元素。
只是闲逛的元素可能会减慢各种查找/遍历,具体取决于您正在遍历的内容等。最终取决于浏览器,您正在查看内存占用问题和分页,但您必须非常庞大数字,远远高于你的位置,看到那些影响。
在更改内容时重新/重新呈现文档可能会增加成本,至少与页面上的元素数量呈线性关系。