我目前正在构建一个单页 AJAX 应用程序。这是一个大型“注册表单”,它被构建为一个多步骤向导,具有多个分支和基于用户做出的选择的不同措辞。表格的最后是一个可编辑的评论页面。用户提交表单后,它会向我们发送一封相当大的电子邮件,并向他们发送一封小电子邮件。这有点像一本非常无聊的选择你自己的冒险书。
功能蔓延已经使这个应用程序的大小超出了当前架构的能力,并且在任何速度较慢的计算机上运行都太慢了(对网络应用程序不利),尤其是那些使用 Internet Explorer 的计算机。它目前有 64 个单独的步骤、5400 个 DOM 元素,仅 .aspx 文件就有 300kb (4206 LOC)。在运行 FireFox 3 的快速机器上加载应用程序需要 1.5 秒,在运行 IE7 的较慢机器上加载应用程序需要 20 秒。在步骤之间移动大约需要相同的时间。
因此,让我们回顾一下这些功能:
- 多步、多路径向导样式表单(64 步)
- 当前步骤以类似于此的方式显示:http: //codylindley.com/CSS/325/css-step-menu
- 多个验证字段
- 根据用户选择更改措辞
- 最终的、可编辑的评论页面
我正在使用 jQuery 1.3.2 和以下插件:
- jQuery 表单向导插件
- jQuery 线索提示插件
- jQuery 性感组合
- jQuery meioMask 插件
以及一些用于从 XML 文件加载措辞、运行评论页面和一些美学装备的自定义脚本。
我没有在任何地方公开发布此内容,但我主要是在寻找有关如何处理此类项目并使其轻量级和可扩展的一些技巧。如果有人对工具、教程或技术有任何想法,那就是我正在寻找的。我是一个相当新手的程序员(我主要是一个 CSS/xHTML/设计专家),所以说话要轻声细语。我只需要一个好的攻击计划来让这个应用程序更快。有任何想法吗?