HTML的优化杂记(2)
来源:daimaren.cn 发布时间:2010-03-10 10:39:00
6. style=”…”
没有什么本质性的错误,只是后期维护麻烦,另外移到外联的CSS文件中可以缓存起来提高页面执行效率。
7. <script language=”Javascript” … >
最容易误解的属性之一,觉得这个是脚本的“语言”,这个属性是如此古老,在1999年就已经不推荐被使用了。
8. <script charset=”…” … >
<script type="text/javascript" charset="UTF-8">
...
</script>
script标签的另一个容易被误解的属性,charset在HTML4.01里的描述:请注意,charset属性是指字符的 src属性所指定的脚本编码,它不涉及的脚本元素的内容。(Note that the charset attribute refers to the character encoding of the script designated by the src attribute; it does not concern the content of the SCRIPT element.),也就是说他只在外联脚本的时候指定脚本文件的编码格式。不推荐使用。
上面说的都是一些错误或者不推荐的用法,下面是一些可以合理忽略以清理标记的属性:
1.<style media=”all” …>
HTML 4.01规定的默认媒体是“screen”,但是经过测试发现几乎所有浏览器并未按照规定执行,而是用“all”替代,如果你要使用media=”all”,那建议可以省略此属性。
2. <form method=”get” …>
form的默认method是get,所以如果要使用get可以不用再指明。
3. <input type=”text” …>
在HTML 4.01和HTML5草案里规定了input的默认属性为text,所以可以忽略。
4. <meta http-equiv=”Content-type” …>
指定文件的字符编码一直都引起极大的混乱,Content-type的优先级并不比HTTP HEADER高,当两者都存在时,请求头更优先,所以如果你能控制好服务器响应,并且设置好HEADER,那MATE就可以安全的忽略,除非页面需要本地浏览的时候。
5. <a id=”…” name=”…” …>
如果不想兼容古老的浏览器(如 Netscape 4),完全不用在一个元素上同时出现ID和NAME。
下面是在HTML(非XHTML)下一些更极端的标记优化方法:
删除注释
删除代码空白
移除可选结束标签,如P标签可以不写结束标签
移除属性引号
移除布尔属性的值,如option的selected
尽量移除内联的样式和脚本等
尽量优化类和ID名
http://daimaren.cn -》//daimaren.cn
X啊,老外罗哩罗嗦的,最后再写点是关于错误的,不好优化示例:
1.移除doctype,HTML Compresor是一个HTML优化工具,它会直接去掉文档声明,会导致页面触发怪异模式,很不好。
2.用B替代STRONG用I替代EM。
HTML Compresor会直接用B替代STRONG用I替代EM,B不是一个强烈的强调,同样I和EM也不一样,B和I只是字体风格,他们会影响页面渲染,同时也不具备语义。
3.删除title\alt\等标签属性。,节约字符和无障碍以及用户体验的权衡,得不偿失。


猜你喜欢
- 前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装
- 前言MySQL提供了众多功能强大、方便易用的函数。使用这些函数可以极大地提高用户对数据库的管理效率。MySQL中的函数包括数学函数、字符串函
- 在SQL Server 2005中,它的另外一个强大的新特点是数据库快照。数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由快照
- 有时候我们的爬虫程序添加了代理,但是我们不知道程序是否获取到了ip,尤其是动态转发模式的,这时候就需要进行检测了,以下是一种代理是否伪装成功
- 1.如果每页都增加打印时间,又如何设置?打印时间的,你可以参考 for(var i=0;i<page.length;i++)
- MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为N
- 之前一直没弄清jsonArray和jsonObject的区别,今天终于弄明白了。jsonArray是数组,以[ ]包含数据,jsonObje
- 最近在做Python 的项目,特地整理了下 Python 序列的方法。序列se
- 目的:Python 格式化打印json数据方法(展开状态)环境:系统:Win10 x64环境:PycharmPython 3.7.0问题分析
- 两个MySql服务的应用 一、如何在同一系统中安装两个MySql服务。 安装一个5.0版本的,再安装一个5.1版本的就可以了。我用的是mys
- 什么是掩膜(mask)在numpy中,有一个模块叫做ma,这个模块几乎复制了numpy里面的所有函数,当然底层里面都换成了对自己定义的新的数
- 关于手机号码的提取,其实真正有用的部分就是re模块提供的正则表达式。使用正则表达式就能轻松地匹配到手机号码,由于功能比较简单这次并没有采用U
- 面对网络不稳定,页面更新等问题,很可能出现程序异常的问题,所以我们要对程序进行一些异常处理。大家可能觉得处理异常是一个比较麻烦的活,但在面对
- re.findall()方法及re.compile()re.findall()在字符串中找到正则表达式所匹配的所有子串,并返回一个列表;如果
- 经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮,经过实验,总结出imread()调用的四种正确姿势。通常我要
- DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找。设我们有一个敏感词库,词酷中的词汇为:我
- Golang Goroutine和线程的区别 Golang,轻松学习一、Golang Goroutine?当使用者分配足够多的任务,系统能自
- FBV:function based view 基于函数的视图.CBV:class based view 基于类的视图.在视图函数创建类,需
- python 的语法定义和C++、matlab、java 还是很有区别的。1. 括号与函数调用def devided_3(x):  
- 在一个大型数据库中,数据的更改是非常频繁的。 而建立在这些数据上的索引也是需要经常去维护的。 否则这这些数据索引就起不到起应起的作用。甚至会