我正在寻找一些设计“最佳实践”或启发式方法来解决网页上的性能问题。
基本上,有下拉菜单,最多10,000个选项,每个菜单都在一个标签中。所以我在DOM模型中有数千个额外的节点。我认为这会减慢在加载文档后解析文档的javascripts,但它也会减慢初始页面加载速度以获取所有数据。
我想完全从页面中删除这些下拉菜单,因此它将包含一个包含选项列表的模态弹出窗口的链接,而不是组合框样式控件。我认为在客户端上预加载和缓存这些弹出窗口可以防止加载初始页面的速度变慢,并从DOM中获取所有这些10,000,从而提高现有脚本的性能。
由于我在Web开发方面的经验有限,我不确定最好的方法是为初始方法创建某种页面/控件/服务/等。一旦我确信我正在使用正确的方法,我应该能够弄清楚细节。
答案 0 :(得分:0)
下拉选项是经常更改还是静态更改?如果它们是静态的,您可以将列表保留为VB代码中的枚举,并让下拉列表使用枚举作为其数据源。
如果他们具有动态性,我会探索如果可能的话将列表分解为更小的块,这样可以让用户深入了解#34;"从一般到更具体的项目。例如,如果此下拉列表列出了动物类型,则可能有一个初始下拉子集:
Mammals
Reptiles
Amphibians
选择上述其中一项后,请说Mammals
,然后您在数据库中找到更具体的子集:
Apes
Marsupials
最后是最具体的子集,如果他们选择Apes
:
Baboon
Chimpanzee
Human
Orangutan
如果无法以这种方式对列表进行细分,那么我会尝试实施Google即搜即得风格的自动填充功能。如果您在jQuery上阅读,则会有一个自动完成控件用于此目的;您应该能够将其与数据库联系起来,以便能够以用户类型进行查询,从而削减结果。