#本人为项目组制定的一份页面优化指南(easyui页面优化方案)##背景这是一篇我之前为项目组制定的页面优化指南,主要是面向表单页面,典型的像[注册用户](https://passport.cnblogs.com/register.aspx)那样的页面。本人的项目主要是基于easyui的,一开始都是直接用其中的layout进行布局,但对于一个实际项目中有100-200甚至更加多字段的表单项,载入的效率很成问题经过**本人的分析**(具体的分析过程见[这里](http://www.cnblogs.com/p2227/p/3540858.html)),发现layout,datebox,combobox及一些panel的衍生组件(其实datebox和combobox中也有panel)都是罪魁祸首所以本人重新写了一个针对表单页面的优化方案,包括文档和相应的代码,本博主要是其中的文档部分##文档如果文档在网页上显示有问题,可以直接下载[PDF格式](http://files.cnblogs.com/p2227/%E9%A1%B5%E9%9D%A2%E4%BC%98%E5%8C%96%E6%8C%87%E5%8D%972.pdf)>页面(登记表)优化指南一、 文档目的引导及记录一套项目页面(尤其是登记表页面)的优化方案二、 优化要点1.文档声明文档声明必须置于网页的HTML部分的最开始,标签之前。它影响着整个网页的解释(兼容性及效率问题)。目前项目中使用的声明是<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">`PS:其实本人还是倾向于向前走,拥抱HTML5的`2.HTML架构页面元素结束之前不要放太多的script标签,一个带src的script标签会引起一次请求,如果标签中的代码另外发起了ajax请求更加需要置后。为了便于开发,一部分通用的JS可能置于body之前,即整体代码架构如下://在body之前放置一些通用JS<body class="wds-layout-body><div id="center-layout" class="wds-layout-scroll wds-layout-north">主体内容</div><div id="south-layout" class="wds-layout-button wds-layout-south">下方按钮</div></body>//在body之后放置一些业务JS,尤其是当中有ajax请求的js3.内容布局3.1 尽量少用easyUI的Panel及Panel的衍生组件(layout,Tabs,datebox)去布局3.2 对于登记表,必须要有**<html>** 及 **<body>**元素。具体代码结构如下:(参考某某页面`这里跟项目实际路径有关,省略`)<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml">//其他代码<body class="wds-layout-body"><div id="center-layout" class="wds-layout-scroll wds-layout-north">主体内容</div><div id="south-layout" class="wds-layout-button wds-layout-south">下方按钮</div></body></html>再执行一下js代码:**$.applyLayout();**则会生成一个固定有north和south布局的页面4.字典项4.1 简单的、变化小的字典项(4项及以下)应该直接radio/checkbox置于页面新封装$.omDic()组件,参考dicQuery.js,使用方法:`此处省略100字,因为是跟项目后台有关联的`5.选择器尽量少避免使用复杂的选择器,能直接用ID尽量用ID选择。6.子表子表不用tab页方式展示,利用点击按钮后弹出对话框的方式展现。7.折叠如果内容太多,需要折叠分类显示,则在相应的行上面加上 ```htmlclass="list_colspan" ```即可,逻辑处理置于**$.applyLayout**函数中(不要用easyUI的accordion)三、 注意问题1.养成良好习惯,HTML元素要正确闭合,javascript中不要放置多余的逗号在eclipse中用正则表达式 ```html ,\s*[\r\n][\r\n]\s*\} ```去搜索,能查找出js中多余的逗号2.能用HTML完成的内容尽量不要用CSS/JavaScript去完成,能用CSS去完成的内容尽量不要用JavaScript去完成如鼠标提示最省资源的方式是用title属性去完成,其次用:hover伪类,用JavaScript事件最耗资源3.项目内容稳定后,应该将变化小的HTTP请求(如查询字典)改成get请求以缓存4.项目内容稳定后,应该将js及css压缩、合并以减少请求时间5.项目内容稳定后,应该将图片合并,利用css sprite定位,以减少请求次数##优化后的页面示例[DEMO](http://p2227.github.io/demo/applyLayout/playout.html)

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。