重构HTML:改善Web 应用的设计(Adobe技术专家力作,深入浅出)
- 定价:¥45.00
- 校园优惠价:¥33.75 (75折) (马上了解)
- 评分:




(已有11条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
-
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由客服人员为您协调调货!
>> 查看详细说明
信息提示
关闭
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由我们的客服人员为您协调调货!
- 团购订单标准如下:
- 单品满30册可选择团购服务。
- 提交团购订单后,服务人员会主动和您联系,并根据您的会员等级、购买数量、金额、时间、配送要求等情况和您协商,以促成最终的成交。
- 有关团体购书的任何问题请随时联系:(010)63970506
编辑推荐
《重构》作者、软件开发大师Martin Fowler作序推荐
世界知名XML专家力作
理论与实践相结合,助你快速改善Web网站及应用
涵盖XHTML、CSS和REST等Web标准
内容简介
书籍 计算机书籍
随着网站越来越大,问题开始出现:速度变慢、链接失败、安全性变差、兼容性降低……怎么办?从头开始重建网站总不是明智之举,这需要投入大量时间和财力。其实,你完全可以四两拨千斤,使用简单有效的技术、工具和诀窍来重构既有代码。
世界级专家Elliotte Rusty Harold在本书中采用理论与实践相结合的方式,展示了如何开展HTML重构,使网站具备更好的可靠性、可用性、安全性、可访问性、兼容性,提高网站性 能。书中详细描述了如何从过时的代码向现在稳定的Web标准(包括XHTML、CSS和REST)迁徙,并淘汰诸如基于呈现的标记、状态相关的应用程序和 “标签汤”。
本书在手,助你的网站实现质的飞跃。
作译者
Elliotte Rusty Harold,世界知名技术作家、程序员,纽约科技大学计算机系副教授,讲授面向对象编程方面的课程。他的网站Cafe con Leche是XML方面的热门网站之一。他著有Effective XML(Addison-Wesley,2003)和XML in a Nutshell(O'Reilly,2002)等一系列知名作品。
目录
第1章 重构. 1
1.1 为何重构 2
1.1.1 坏味道:难以辨认的代码 3
1.1.2 坏味道:CEO根本搞不定他的旅行费用报销单 4
1.1.3 坏味道:缓慢的页面呈现速度 5
1.1.4 坏味道:不同的浏览器,不同的呈现 5
1.1.5 坏味道:网页需要危险或者非标准技术的支持 6
1.1.6 坏味道:公司主页突然显示“Pwned by Elite Doodz” 7
1.1.7 坏味道:在Google搜索结果中首次排在17页之后 7
1.1.8 坏味道:访问者致信投诉网站失灵 7
1.2 何时重构 8
1.3 重构什么 9
1.3.1 为何要用XHTML 10
1.3.2 为何要用CSS 13
1.3.3 为何要用REST 14
1.4 反对重构的理由 16
第2章 工具 18
2.1 备份、测试用机和源码控制 18
2.2 验证器 20
2.2.1 W3C标记验证服务 20
2.2.2 日志验证程序 22
2.2.3 xmllint 23
2.2.4 编辑器 24
2.3 测试 24
2.3.1 JUnit 26
2.3.2 HtmlUnit 28
2.3.3 HttpUnit 29
2.3.4 JWebUnit 30
2.3.5 FitNesse 31
2.3.6 Selenium 32
2.3.7 测试入门 35
2.4 正则表达式 36
2.4.1 搜索 36
2.4.2 搜索模式 38
2.5 Tidy 39
2.5.1 -asxhtml 40
2.5.2 -clean 41
2.5.3 编码 42
2.5.4 整洁的格式 43
2.5.5 生成的代码 43
2.5.6 当做库来用 43
2.6 TagSoup 43
2.7 XSLT 45
第3章 良构 47
3.1 什么是良构 47
3.2 将名称改为小写 50
3.2.1 动机 51
3.2.2 风险 52
3.2.3 做法 52
3.3 给属性值加引号 53
3.3.1 动机 54
3.3.2 风险 54
3.3.3 做法 55
3.4 补足遗漏的属性值 56
3.4.1 动机 56
3.4.2 风险 56
3.4.3 做法 56
3.5 将空标签替换为空元素标签 57
3.5.1 动机 58
3.5.2 风险 58
3.5.3 做法 58
3.6 添加结束标签 59
3.6.1 动机 60
3.6.2 风险 60
3.6.3 做法 61
3.7 消除重叠 63
3.7.1 动机 63
3.7.2 风险 63
3.7.3 做法 64
3.8 把文本转换为UTF-8 65
3.8.1 动机 65
3.8.2 风险 65
3.8.3 做法 66
3.9 转义小于号 67
3.9.1 动机 67
3.9.2 风险 67
3.9.3 做法 67
3.10 转义&号 68
3.10.1 动机 69
3.10.2 风险 69
3.10.3 做法 69
3.11 转义属性值中的引号 70
3.11.1 动机 70
3.11.2 风险 71
3.11.3 做法 71
3.12 加入XHTML DOCTYPE声明 71
3.12.1 动机 72
3.12.2 风险 72
3.12.3 做法 72
3.13 结束每一个实体引用 74
3.13.1 动机 74
3.13.2 风险 74
3.13.3 做法 74
3.14 替换虚构的实体引用 74
3.14.1 动机 75
3.14.2 风险 75
3.14.3 做法 75
3.15 加入根元素 75
3.15.1 动机 76
3.15.2 风险 76
3.15.3 做法 76
3.16 加入XHTML命名空间 76
3.16.1 动机 76
3.16.2 风险 77
3.16.3 做法 77
第4章 有效性 78
4.1 加入过渡型DOCTYPE声明 79
4.1.1 动机 79
4.1.2 风险 80
4.1.3 做法 80
4.2 删除所有不该存在的标签 81
4.2.1 动机 81
4.2.2 风险 81
4.2.3 做法 81
4.3 添加alt属性 83
4.3.1 动机 83
4.3.2 风险 83
4.3.3 做法 84
4.4 用object替代embed 85
4.4.1 动机 86
4.4.2 风险 86
4.4.3 做法 87
4.5 加入严格型DOCTYPE声明.. 89
4.5.1 动机 90
4.5.2 风险 90
4.5.3 做法 90
4.6 用CSS替代center 90
4.6.1 动机 91
4.6.2 风险 91
4.6.3 做法 91
4.7 用CSS替代font 93
4.7.1 动机 93
4.7.2 风险 94
4.7.3 做法 94
4.8 用em或CSS替代i 96
4.8.1 动机 96
4.8.2 风险 96
4.8.3 做法 96
4.9 用strong或者CSS替换b 98
4.9.1 动机 98
4.9.2 风险 98
4.9.3 做法 98
4.10 用CSS替换各种颜色属性 99
4.10.1 动机 100
4.10.2 风险 100
4.10.3 做法 100
4.11 把img元素的属性转换为CSS属性 102
4.11.1 动机 102
4.11.2 风险 102
4.11.3 做法 102
4.12 用object替代applet 103
4.12.1 动机 104
4.12.2 风险 104
4.12.3 做法 105
4.13 用CSS替换表现性元素 106
4.13.1 动机 107
4.13.2 风险 107
4.13.3 做法 107
4.14 把行内(Inline)元素放到块(block)元素中 108
4.14.1 动机 108
4.14.2 风险 109
4.14.3 做法 109
第5章 布局 112
5.1 替换表格布局 112
5.1.1 动机 114
5.1.2 风险 114
5.1.3 做法 114
5.2 使用CSS定位替代框架 123
5.2.1 动机 124
5.2.2 风险 124
5.2.3 做法 125
5.3 把内容放到最前面 132
5.3.1 动机 133
5.3.2 风险 133
5.3.3 做法 133
5.4 正确标记列表 135
5.4.1 动机 136
5.4.2 风险 136
5.4.3 做法 136
5.5 用CSS替换blockquote/ul的缩进 137
5.5.1 动机 138
5.5.2 风险 138
5.5.3 做法 138
5.6 替换占位图片 139
5.6.1 动机 139
5.6.2 风险 140
5.6.3 做法 140
5.7 添加id属性 140
5.7.1 动机 141
5.7.2 风险 141
5.7.3 做法 141
5.8 为图片添加width和height属性 144
5.8.1 动机 144
5.8.2 风险 144
5.8.3 做法 144
第6章 可访问性 146
6.1 把图片转换为文本 148
6.1.1 动机 148
6.1.2 风险 148
6.1.3 做法 148
6.2 为表单输入框添加标签 151
6.2.1 动机 151
6.2.2 风险 151
6.2.3 做法 151
6.3 使用标准的字段名称 154
6.3.1 动机 156
6.3.2 风险 156
6.3.3 做法 156
6.4 开启自动完成 159
6.4.1 动机 160
6.4.2 风险 160
6.4.3 做法 160
6.5 为表单添加Tab索引 160
6.5.1 动机 161
6.5.2 风险 161
6.5.3 做法 162
6.6 加入“跳过”机制 163
6.6.1 动机 164
6.6.2 风险 164
6.6.3 做法 164
6.7 添加内部标题 165
6.7.1 动机 165
6.7.2 风险 166
6.7.3 做法 166
6.8 把链接和标题里重要的内容放到前面 166
6.8.1 动机 167
6.8.2 风险 167
6.8.3 做法 167
6.9 加大输入框 168
6.9.1 动机 168
6.9.2 风险 168
6.9.3 做法 168
6.10 加入表格描述 169
6.10.1 动机 171
6.10.2 风险 171
6.10.3 做法 171
6.11 加入acronym元素 173
6.11.1 动机 173
6.11.2 风险 173
6.11.3 做法 173
6.12 加入lang属性 174
6.12.1 动机 175
6.12.2 风险 175
6.12.3 做法 175
第7章 Web应用程序 177
7.1 用POST替换不安全的GET 177
7.1.1 动机 177
7.1.2 风险 178
7.1.3 做法 178
7.2 用GET替换安全的POST 181
7.2.1 动机 181
7.2.2 风险 182
7.2.3 做法 182
7.3 重定向POST为GET 184
7.3.1 动机 184
7.3.2 风险 185
7.3.3 做法 185
7.4 启用缓存 186
7.4.1 动机 186
7.4.2 风险 187
7.4.3 做法 187
7.5 阻止缓存 189
7.5.1 动机 189
7.5.2 风险 189
7.5.3 做法 189
7.6 使用ETag 191
7.6.1 动机 191
7.6.2 风险 192
7.6.3 做法 192
7.7 用HTML替换Flash 194
7.7.1 动机 195
7.7.2 风险 195
7.7.3 做法 195
7.8 增加Web Forms 2.0类型 197
7.8.1 动机 198
7.8.2 风险 198
7.8.3 做法 199
7.8.4 浏览器的支持情况 202
7.8.5 数据验证 202
7.9 用mailto链接取代联系表单 202
7.9.1 动机 203
7.9.2 风险 203
7.9.3 做法 203
7.10 封禁机器人 205
7.10.1 动机 205
7.10.2 风险 205
7.10.3 做法 205
7.11 转义用户的输入 207
7.11.1 动机 208
7.11.2 风险 208
7.11.3 做法 208
第8章 内容 210
8.1 修正拼写 210
8.1.1 动机 210
8.1.2 风险 210
8.1.3 做法 211
8.2 修复坏链接 213
8.2.1 动机 213
8.2.2 风险 214
8.2.3 做法 214
8.3 移动页面 219
8.3.1 动机 219
8.3.2 风险 219
8.3.3 做法 219
8.4 删除入口页面 221
8.4.1 动机 222
8.4.2 风险 223
8.4.3 做法 223
8.5 隐藏电子邮件地址 224
8.5.1 动机 224
8.5.2 风险 224
8.5.3 做法 224
附录A 正则表达式... 227
序言
Martin Fowler序
仅仅十余年,Web就从一门大有希望的技术演变成了世界基础设施的重要组成部分。在这个绚丽迷人的年代中,涌现了许多有用的资源。一如往常,我们在追求最佳实践的过程中不断地学习技术,而技术本身的成熟也促使我们更好地使用它。.
无论多么复杂的Web应用程序,最终都要通过HTML这种通用的网页描述语言呈现在屏幕上。HTML虽然功能非常有限且用途单一,但它也是一门计算机语言。因此,如果想让系统能够轻松迭代进化,必须编写清晰易懂的HTML。但跟任何一门计算机语言一样,甚至与任何文章一样,第一次很难写到位。只要坚定决心,反复尝试,就一定能写出清晰易懂的代码来。
重写代码有引进bug的风险。几年以前,我曾著书讨论过重构技术,它是一种重写代码的严谨的方法,在修订现有软件时能够大幅度降低引入新bug的机会。重构对常规软件语言产生了巨大影响。很多程序员把它作为日常工作的一部分,作为保持代码清晰和提升自己未来工作效率的辅助手段。自动化重构任务的工具也如雨后春笋般涌现,进一步改善了重构的工作流程。
重构能够大幅改善常规的编程,它的基本思想同样可以运用到HTML上。重构的步骤虽然不一样,背后的思想却如出一辙。通过学习如何重构HTML,可以使HTML清晰灵活地适应未来的变化。一旦变化不可避免,可以快速进行改动。这些技术也能让你的网站紧追Web技术潮流,尤其是有助于支持XHTML和CSS。
Elliotte Rusty Harold编写的关于XML技术和处理XML开源软件的著作很早以前就摆上了我的书架,始终占有一席之地。我一向敬重他这位优秀的程序员和作者。他通过本书把重构的益处带入了HTML世界。..
——Martin Fowler
Bob DuCharme序
万维网成功的一个关键是:任何人都能很容易地创建网页,并将其放在人人皆可访问的地方。人们创建的互相链接的页面越多,他们的网站对更多的人就越有用。Web造就百万富翁的故事也不断激励着Web开发者规划更宏伟的事业。
但随着网站变大,很多人感受到了成长之痛。改过的链接指向不明,页面在不同的浏览器中观感不一,要找到某些东西越来越难,特别是在需要把改动统一地应用到整个网站上的时候,这些问题就更加突出。碰到这些情况时,很多自己建站的人都需要寻求专家的帮助。不过有了本书,你就可以像专家一样自己解决问题;假使你已经是Web专家,也可以变得更专业。
市面上有很多入门级的Web技术书,但本书是第一本融汇中级内容的读物,讨论了创建专业的、可维护的、可访问的网站的所有关键技术。也许你已经是此书涉及的某些主题的专家,但很少有人能够像Elliotte这样透彻理解所有的主题,而且他的讲解非常通俗易懂。(我对XML非常熟悉,但此书告诉我只要略微改变一下自己的CSS习惯,我创建的那些网页都能得到改进。)
在本书的每一个建议中,Elliotte都清晰阐述了动机、遵循该建议可能要做的权衡和实现技巧,每条提示都分析了来龙去脉。他发现问题的能力极强,我险些要拿他灵敏的嗅觉去与普鲁斯特 比了,这的确是容易让人联想到的。
我已经读过好几本Elliotte的书,但是他写的书也有我没来得及看的。当我听说他在写这本书时,我知道我绝对应该拿来看看。很高兴的是我能够提前阅读这本书,而且获益匪浅。你也会大有所获的,相信我!
——Bob DuCharme,Innodata Isogen公司的解决方案架构师...
媒体评论
Elliotte的著作在我的书架上始终占据一席之地。……他通过本书把重构的益处带入了HTML世界。
——Martin Fowler
本书提供了一系列改善现有布局或者更新旧Web应用的技巧,强烈推荐!
——Amazon.com