




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在前段领域中,对Javascript和CSS的优化一直是大家关注的焦点,相应的压缩优化工具也非常丰富,相对而言对HTML优化的关注则显得有些冷淡。在Steve Souders的大作Even Faster Web Sites中谈到非常多有效的前端优化方法,例如Javascript的加载、CSS选择符、图片优化、gzip、iframe问题等,唯独没有细说HTML优化。在整个前端的构成中,HTML是必不可少的一部分,而且是真正的展示“前端”。虽然与动辄十几K的Javascript相比,HTML的大小在整个页面资源中一般不会占太多的比重,而且还有Gzip,但是事实表明,大多数页面都有较大的压缩余地,即使是Gzip过后仍然能减小可观的体积,这一事实在后续的文章中会给出,本文主要讨论HTML优化的一些可行和看上去不那么可行的途径。对于各种优化途径,如果一定要我给一个分类的话,我会用颜色来区分。对于那些在各种页面中都适用而且无害的方法,我将它们归为绿色。相对而言,只有在某些具体的情况下才适用或者有违标准的方法归为橙色。绿色方法1. 使用相对URL对于页面中的各种URL,例如链接、外链CSS的href、外链Javascript的src、图片src、iframe src等,如果能够确定它们与当前页面是处于同一域名下的话,则可以使用相对URL,这样每一个URL都能够节省至少一个域名的长度。2. 删除HTTP或HTTPS绝对URL都以HTTP或HTTPS等协议头开始,如果能确定URL的协议与当前页面URL的协议是一致的,或者说该URL在多种协议下均是可用的,则可以考虑删除这个协议头。这样做虽然有些非主流,但事实证明是可行的,而且也有理论依据(见/rfc/rfc2396.txt 第5.2节描述)。Nexus One的这个页面中有些资源URL就删除了协议头,虽然并不是出于节省资源的目的,但至少证明删除协议头是可行的。对于CSS,如果删除协议头在IE7、IE8下会造成CSS下载两次,这个是需要注意的问题。3. 删除注释与CSS、Javascript一样,也可以通过删除HTML中的注释来实现优化。然而,这一点对于HTML来说却要复杂一些,因为在HTML中存在某些特殊作用的注释是不能删除的。(a). IE条件注释 复制内容到剪贴板 代码: HTML 诸如这样的语法,只有符合expression的浏览器才能识别其中的内容。(b). CDATA注释 复制内容到剪贴板 代码:/* */CDATA本身是XHTML中才需要的,在CDATA中的内容不需要对特殊字符进行转义,不过为了兼容老版本的浏览器,需要加上注释,以免出错。不过,对于这个注释,如果你的页面并没有真正的使用XHTML标准则可以大胆的删除掉。使用XHTML标准不是简单的声明DTD就可以办到的,除此之外还需要服务器能够派application/xhtml+xml这样的内容格式,另外还需要浏览器支持,目前IE并不支持XHTML格式。因此,目前你的页面可能是按照XHTML规范来写的,也能通过HTML验证,但想要兼容IE则一定还是以HTML方式来展示的。这样一来,很多为了遵循标准而增加的内容则可以删除,具体的在后文的橙色部分详述。(c). 自定义注释产品中自定义的一些具有特定功能的注释,例如统计。4. 压缩空白符在HTML中的大多数标签中,多个空白符都会被压缩成一个来显示,于是可以通过删除多余的空白符来减小HTML体积。不过需要注意的是并不是所有的空白符都可以这样做,例如pre、textarea中的空白符是按原样显示的,标签属性中的属性值也是按原样显示的,例如title、value等。5. 压缩inline css & Javascript不管inline还是external,都需要压缩,这是减小体积的最直接的方式。6. CSS&Javascript尽量外链外链CSS和Javascript,不仅仅是减小HTML本身的体积,而且还可以充分利用浏览器的缓存机制,所以当CSS、Javascript的代码量超过一定体积时,尽量外链。除此之外,尽量避免在页面中使用onmouseover=”xxxx”的方式来注册事件,既不利于维护也容易产生不必要的冗余代码。7. 删除元素默认属性在HTML规范中,很多HTML元素的属性是有默认值的,对于这些默认值可以抹去不写,下面是不完全统计。标签属性默认值stylemediascreenlinkmediascreenformmethodgetforminputtypetext橙色方法橙色方法是指那些有违标准,或者会导致页面出现无法预料的问题的一类方法,算是一类非常规的方法,因此也仅仅适用于一些非常规的页面,例如搜索引擎首页。1. 删除或替换DOCTYPE对于页面展现非常重要,浏览器会根据具体的DOCTYPE来决定如何显示页面,除非你对删除DOCTYPE后的页面展示十分有把握,否则不要轻易删除。另外一种可行的方式是采用HTML5中的写法,即,大多数浏览器能够将这种doctype写法解析为标准或准标准(Almost Standard)模式,不过依然会造成一些问题,具体见这里。目前百度、Google都是这么做的。2. 删除标签属性值的引号引号不是必须的,删之。此处也需要考虑一些特殊情况,例如属性值中包含引号等。(提醒:不符合XHTML规范)3. 省略某些属性值例如disabled、checked、multiple等的值都可以省略。(提醒:不符合XHTML规范)4. 删除可选的闭合标签例如body、p、tr等标签是允许没有闭合标签的,具体的参考此处。(提醒:不符合XHTML规范)5. 删除自动闭合标签的”/”(提醒:不符合XHTML规范)工具HTML优化工具目前比较理想的是Absolute HTML Compressor,另外,PageSpeed1.6中也引入了HTML压缩功能,不过目前只有四个简单的策略,尚处于实验性阶段。随着大家对前端性能越来越高的关注度,HTML优化及压缩方面也一定会有所发展的。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学检验质量控制体系与实施要点
- 海外留学生接送与住宿全面质量监控补充协议
- 虚拟现实网络游戏原创角色道具设计独家授权合同
- 智能家居设备安装与全面保养服务长期合同
- 大宗商品物流配送与仓储一体化承包合同
- 网络广告投放与精准营销服务合同
- 法院执行法拍房税费承担及支付协议合同
- 新能源企业ESG债券发行合规性法律审查协议
- 专业美容美发技术培训与授权服务合同
- 快递网点加盟快递业务代理合同
- 北京2025年国家大剧院招聘24名专业技术人员笔试历年参考题库附带答案详解
- 2024建安杯信息通信建设行业安全竞赛题库及答案【三份】
- 2025年信息系统管理知识考试试题及答案
- 中介股东合同范例
- 马法理学试题及答案
- 合伙人协议书模板
- 2025年下半年扬州现代农业生态环境投资发展集团公开招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年中考第一次模拟考试卷:生物(成都卷)解析版
- 从实践中学习医疗人文关怀的案例分享
- 2025年上半年重庆合川区招考事业单位工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上海市松江区中考数学二模试卷(含解析)
评论
0/150
提交评论