首页>参考读物>计算机科学与技术>综合

HTML5精粹:利用HTML5开发令人惊奇的Web站点和革命性应用
作者 : (美) J.D. Gauchat 著
译者 : 曾少宁 张猛 赵俐 译
丛书名 : 华章程序员书库
出版日期 : 2012-09-26
ISBN : 978-7-111-39771-7
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 301
开本 : 16
原书名 : HTML 5 For Masterminds
原出版社: MARCOMBO
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书旨在介绍如何利用HTML5创建引人注目的网站和新颖的应用程序,涵盖HTM5、CSS3和JavaScript API三大主题。本书共分16章,第1章介绍HTML5文档组成和结构;第2章如何设计CSS样式、传统框模型和弹性框模型;第3章介绍如何利用CSS3属性实现动态和可视化效果;第4章讲述HTML5最重要的组成部分:JavaScript及其相关API;第5章揭示如何在HTML5中创建视频和音频;第6章阐述HTML5表单及其新的属性和API表单;第7章介绍如何在Canvas上处理图像、动画和视频;第8章讲解拖放API的相关操作;第9章介绍如何利用地理位置API实现定位功能;第10章阐述Web存储API的实现;第11章介绍IndexedDB的实现与相关操作;第12章讨论关于文件的操作和文件API;第13章介绍通信API的重要组成部分:XMLHttpRequest Level 2、Web消息传递API和WebSocket API;第14章讲述如何实现Web Workers API;第15章概述历史API的相关功能;第16章脱机API的功能以及属性、事件和方法。
本书适合希望系统学习HTML5的网站开发人员和设计人员阅读。

图书特色

在当前的环境下,移动应用需求的爆炸性增长在某种程度上加速了HTML5技术的推广和HTML5标准的进一步成熟。在移动领域中,硬件方面:各种品牌、各种功能、各种尺寸的智能手机和平板电脑等移动设备可谓五花八门;软件方面:移动操作系统平台也依然是iOS、Android和Windows Phone三分天下。这种局面为移动应用开发者带来了巨大的挑战,如果使用各个平台原生的技术来开发应用,不仅一款应用只能在一个平台上运行,而且要完成适配各种型号的硬件设备这一无比繁琐的任务,开发者在重复发明轮子的同时也限制了自己的创造性。HTML5技术的特性能很好地解决这些问题,这也是全球各大互联网企业争相支持和完善HTML5技术和标准的重要原因之一。
作为开发者,掌握HTML5技术已经是大势所趋,对于有一定HTML基础的开发者而言,如何才能迅速掌握最新的HTML5技术并提升自己的开发水平?学习并掌握本书的内容,也许是一条捷径。它是专门为这类开发者量身打造的,系统讲解和分析了HTML5的所有新特性和核心技术,极具针对性,极大地降低了学习成本。
本书核心内容:
HTML5文档的基本组成、全局结构、主体,以及新旧元素对比。
CSS的样式设置与框模型。
CSS3的核心新属性和新规则。
JavaScript的核心知识。
HTML5中的音频和视频特性,以及如何在HTML5中创建视频和音频。
HTML5中的各种表单(包含新增表单元素)及其新属性,以及表单API。
Canvas的特性及其使用,以及Canvas的API。
HTML5中的拖放操作及其API。
HTML5中的地理位置信息及其API。
HTML5中的各种Web存储方法,以及Web存储API。
索引数据库(IndexedDB)的具体操作、实现原理,以及它的API。
HTML5中的文件操作和文件系统,以及文件API。
HTML5中的Ajax、跨文档消息传递、Web套接字等通信技术的原理,以及它们的API。
HTML5中Web Workers的使用方法和实现原理,以及它的API。
HTML5中的历史接口及其API。
HTML5中的脱机功能及其API。

作者简介

J.D. Gauchat
资深Web技术专家,对HTML5、CSS3、JavaScript和PHP等Web开发技术有非常深入的认识和理解,在该领域工作了10余年,经验十分丰富。他的这本著作被翻译成西班牙语等多种文字,而且他还在Web开发领域发表了大量有影响力的技术文章。此外,他还是一位企业家,致力于在世界范围内的市场中发现机遇。

图书前言

HTML5并不是旧标记语言的新版本—甚至也不是对已“过时”技术的改进,而是移动设备、云计算和网络时代的一种网站和应用程序开发新概念。
  很久之前,使用简单版本的HTML,就可以创建基本网页结构、组织内容和共享信息。最初,这种语言和Web主要是用于实现基于文本的通信方式。
  由于HTML的使用范围有限,因此许多企业都开发了新的语言和软件,以便在Web中添加新的特性。这些最初的开发逐渐成为强大和流行的插件。简单游戏和动画效果很快转变成复杂的应用程序,给人们带来全新的体验,并从此改变了Web的概念。
  在所有插件中,Java和Flash是最成功的。它们应用广泛,并且被认为是互联网的未来。但是,随着用户的增长,而且互联网从最初的计算机爱好者之间的互联工具转变为以商业和社交互动为主的场所,这两种技术的局限性最终使它们越来越不受欢迎。
  Java和Flash最主要的问题在于缺乏集成性。两者从一开始便以插件形式出现,有时候还需要插入文档结构中,但是实际上只是与该结构共享屏幕的一部分空间。在应用程序和文档之间不存在通信能力和集成性。
  缺乏集成性的问题越来越严重,也为语言的演变做好了准备,使之共享HTML文档的空间,成为不受插件限制影响的组件。JavaScript是嵌入在浏览器中的一种解释性语言,同时也是一种改善用户体验和实现Web功能的方法。然而,在过去几年里,由于推广及滥用问题,市场并没有完全接受这种语言,而且其流行性也有逐渐下降。批评者有着很好的理由反对这种语言。在那段时间里,JavaScript无法替代Flash和Java的功能。甚至,有一个很明显的现实情况是,Java和Flash限制了Web应用程序的范围,并且隔离了Web内容,而一些流行特性(如流式视频)正成为Web的重要组成部分,并且只有通过这些技术才能有效地实现。
  尽管取得了很大的成功,但是Java也存在一些缺陷。这种语言具有非常复杂的特性,发展缓慢,缺乏集成性,这些问题都直接限制Java在目前主流Web应用程序中的应用。如果不使用Java,人们只能使用Flash。然而,Flash实际上与其竞争对手具有相同的Web特征,因此注定会退出市场。
  同时,访问Web的软件在不断发展。除了增加新特性和提高互联网访问速度,浏览器还不断改进其JavaScript引擎。增强的功能带来了更多的机会,而这种脚本语言也已经做好了准备。
  从某种程度上讲,那些不使用Java或者Flash的开发人员在这个过程中可以为越来越多的用户提供创建应用程序所需要的工具。这些开发人员开始在他们的应用程序中以全新的方式编写JavaScript代码。这种创新及其令人吃惊的结果引起了越来越多程序员的注意。很快,所谓的“Web 2.0”开始出现,开发者社区对于JavaScript的认识也发生了根本性改变。
  显然,JavaScript是一种允许开发者在网页上创新和实现特殊效果的语言。近几年来,全世界的程序员和网页设计人员使用了很多方法,希望克服这种技术的局限性及一直存在的可移植性问题。JavaScript、HTML和CSS显然是引领Web变革的最佳组合。
  事实上,HTML5正是对这个组合的改进,是将整合这一切的黏合剂。HTML5标准涉及Web的各个方面,也清晰定义每一种技术的用途。从现在开始,HTML负责设置文档结构(结构元素),CSS则关注于如何将结构转换为可视化效果和可用性,而JavaScript则负责实现功能和开发完整的Web应用程序。
  网站与应用程序之间的界限已经完全消失。所需要的技术也一应具备。网页的未来是光明的,而将这三种技术(HTML、CSS和JavaScript)演变和整合为一个强大的规范便是将Internet转化成一个主导的开发平台。HTML5显然是朝着这个方向发展的。
  重要提示:目前,并非所有的浏览器都支持HTML5特性,而且大多特性仍处于设计阶段。我们建议您阅读各个章节,并在最新版本的Google Chrome、 Safari、Firefox或 Internet Explorer上执行示例代码。Google Chrome基于WebKit,这是一个开源浏览器引擎,几乎支持所有的HTML5特性,因此Google Chrome是一个很好的测试平台。Firefox是一个很适合开发者使用的优秀浏览器,它采用Gecko引擎,同样也完全支持HTML5。最后,新版本的Internet Explorer(IE9)已经支持HTML5及大部分新特性。
  不管使用哪种浏览器,一定要注意:优秀的开发者必须在市面上所有浏览器上安装和测试所编写的代码。要在每一个浏览器上测试本书所提供的示例代码。
  通过以下链接可以下载最新版本的浏览器:
   www.google.com/chrome
   www.apple.com/safari/download
   www.mozilla.com
   windows.microsoft.com
   www.opera.com
  本书最后提供了多种兼容旧版浏览器的设计方法,使未支持HTML5的浏览器也能够正常访问网站与应用程序。

上架指导

计算机\程序设计

封底文字

在当前的环境下,移动应用需求的爆炸性增长在某种程度上加速了HTML5技术的推广和HTML5标准的进一步成熟。在移动领域中,在硬件方面,:各种品牌、各种功能、各种尺寸的智能手机和平板电脑等移动设备可谓五花八门;在软件方面:移动操作系统平台也依然是iOS、Android和Windows Phone三分天下。这种局面为移动应用开发者带来了巨大的挑战,如果使用各个平台原生的技术来开发应用,不仅一款应用只能在一个平台上运行,而且还要完成适配各种型号的硬件设备这一无比必繁琐的任务,开发者在重复发明轮子的同时也限制了自己的创造性。HTML5技术的特性能很好地解决这些问题,这也是全球各大互联网企业争相支持和完善HTML5技术和标准的重要原因之一。
作为开发者,掌握HTML5技术已经是大势所趋,对于有一定HTML基础的开发者而言,如何才能迅速掌握最新的HTML技术并提升自己的开发水平?学习并掌握本书的内容,也许是一条捷径。它是专门为这类开发者量身打造的,系统讲解和分析了HTML5的所有新特性和核心技术,极具针对性,极大地降低了学习成本。
本书核心内容:
 HTML5文档的基本组成、全局结构、主体,以及新旧元素对比。
 CSS的样式设置与框模型。
 CSS3的核心新属性和新规则。
 JavaScript的核心知识。
 HTML5中的音频和视频特性,以及如何在HTML5中创建视频和音频。
 HTML5中的各种表单(包含新增表达元素)及其新属性,以及表单API。
 Canvas的特性及其使用,以及Canvas的API。
 HTML5中的拖放操作及其API。
 HTML5中的地理位置信息及其API。
 HTML 5中的各种Web存储方法,以及Web存储API。
 索引数据库(IndexedDB)的具体操作、实现原理,以及它的API。
 HTML5中的文件操作和文件系统,以及文件API。
 HTML5中的Ajax、跨文档消息传递、Web套接字等通信技术的原理,以及它们的API。
 HTML5中Web Workers的使用方法和实现原理,以及它的API。
 HTML5中的历史接口及其API。
 HTML5中的脱机功能及其API。

作者简介

(美) J.D. Gauchat 著:暂无简介

译者简介

曾少宁 张猛 赵俐 译:暂无简介

译者序

HTML—由来已久
  说起我与HTML的缘分,由来已久。1997年,刚开始使用浏览器,就开始制作小网页,制作简单的网站。但那个时候,学习编程的我,对于标签语言(尤其是定义标签的<>符号)有那么一点点不习惯。因此主要的工作还是通过编程,也就是利用单机或C/S架构的程序来解决问题。
  1999年,受ZDNET网站之约,我为ZDNET网站翻译了完整的HTML4.0规范。翻译的好处是,可以强迫自己细读全部标签、属性,从此,我打下了坚实的HTML基础。虽然我的主要工作是管理开发、提供解决方案,但在协调开发人员和美工进行B/S架构的开发时,依靠纯粹手写HTML的经验,让我减少了许多沟通和管理的障碍。
  直到深入理解了HTML,我才明白,一切界面都是拼接、画出来的,不论是多么复杂的网站、多么精美的应用、多么漂亮的设计,都源自那些“朴实”的标记。
  时隔8年之后,2008年年底,我又翻译了《HTML、XHTML和CSS宝典(第4版)》,这使我对HTML、CSS、JavaScript再次温故而知新。
  HTML—不变应万变之技术老枪
  IT技术领域有一个现象,就是新技术层出不穷,IT人员疲于追逐新技术,却很少精通哪项技术。十几年间,Windows等操作系统、.NET、Java等编程技术经历了几代的演进,Web也从1.0发展到2.0。但作为互联网基石的HTML始终保持了相对的稳定。如果说有什么技术在学习了之后,可以保持长久的生命力,HTML、CSS、JavaScript无疑是其中的典范。每次遇到年轻的项目组开发人员只知道关注那些后台框架,却对HTML一知半解的时候,我这杆“老枪”不得不亲自上阵,用我最喜欢的写字板来解决他们的HTML代码问题。HTML的魅力,即使在多年之后,仍然给我带来了无限的冲击力。
  在这个过程中,我也面临选择。2009年接手一个公司的项目,受微软新技术的吸引,一定要使用SilverLight。当我用HTML+Web 2.0+SNS设计出全新架构之后,SilverLight已经弃用了。
  关于Flex、Flash的计算机外版图书,我其实也翻译过不少。但当有一家电信公司跟我说脱离了Flex,就做不到百万级数据报表在浏览器中实时显示的时候,我又用HTML+Web 2.0给予了回击。
HTML5—揭开崭新篇章
  但是,随着B/S架构、普适计算和移动运算的普及,PC、平板电脑、手机、家电各种计算设备的整合,各种专有技术,包括ANDROID、MS、APPLE、ADOBE FLASH等,都暴露出自己的瓶颈,虽然程序员精心开发了一个应用,但是大多数情况下只能适用于一个平台,为了保持兼容性,又要投入巨大的精力。这种人为的壁垒束缚了程序员的创造力,也限制了用户的选择。
  终于,巨头们达成一致,齐心协力共同开发HTML5。HTML5展示了美好的前景:良好的跨浏览器标准支持、本地存储、脱机运行、GPS地理位置支持、视频、绘图、多媒体……可以说,对传统的B/S架构的应用和最新的移动应用提供全面支持。
  如果你因为苹果公司封闭的开发体系和Object-C不好掌握而错过了开发《愤怒的小鸟》等热门游戏的大好机会;如果你因为安卓平台版本众多、兼容困难、投入大、见效少而痛苦;如果你因为微软.NET平台对平板、手机的支持欠缺而错失移动互联网的机会……那么,现在一个新的机会正呈现在你面前,那就是HTML5。从理论上讲,用HTML5开发的应用程序,在台式机、平板设备、安卓手机、苹果手机、其他智能设备、各个主流浏览器上,都能完美运行。
  重大的技术更新,必然带来一次重大的应用更新,催生新的市场,而这种技术是跨越所有主流厂商私有技术并得到普遍支持的技术,这个市场会有多大,有多少机会,我不予猜测。
  如本书所述,本书介绍的许多技术,在当前主流浏览器中的实现,目前仍然处于“实验”阶段。而据最新报道,HTML5的最新标准大约要到2014年才能推出。另外,微软目前推出的Windows 8和Internet Explorer 10据说全面支持HTML5标准,其他厂商也不甘落后。那么,这当中会有多少机会,相信已经不言而喻。
  但是,无论如何,有一点是可以肯定的,HTML是这些年来最稳定、最持久、最成功的技术,或者谦虚一点,加上两个字:之一。
关于本书—快速升级书
  本书适合于有一定HTML、CSS、JavaScript基础的读者阅读。首先,作者是一个资深程序员,行文作风很像是在研讨会上对听众介绍新技术,言简意赅,重点突出,但显然不会顾及全部细节。另外,本书只有前4章对HTML、CSS、JavaScript做了简要介绍,其余12章,全部放在HTML5的新增功能方面。这样做,有助于通过这本薄薄的书就能掌握这些技术的精华,让你的技术一夜之间实现大幅飞跃。
  最后,衷心感谢机械工业出版社的编辑在本书翻译过程中给予的精心指导和宝贵意见,为本书付出的大量心血和耐心细致的审阅。由于译者水平有限,难免有不当之处,恳请各位读者不吝指正。

图书目录

译者序
前言
第1章 HTML5文档1
1.1 基本组成1
1.2 全局结构1
1.2.1 Doctype2
1.2.2 2
1.2.3 3
1.2.4 3
1.2.5 4
1.2.6 5<br />1.2.7 <link>5<br />1.3 正文结构6<br />1.3.1 组织7<br />1.3.2 <header>9<br />1.3.3 <nav>9<br />1.3.4 <section>10<br />1.3.5 <aside>11<br />1.3.6 <footer>12<br />1.4 深入正文13<br />1.4.1 <article>14<br />1.4.2 <hgroup>16<br />1.4.3 <figure>和<figcaption>18<br />1.5 新旧元素20<br />1.5.1 <mark>20<br />1.5.2 <small>20<br />1.5.3 <cite>21<br />1.5.4 <address>21<br />1.5.5 <time>21<br />1.6 快速参考—HTML5文档22<br />第2章 CSS样式设置与框模型24<br />2.1 CSS与HTML24<br />2.2 样式与结构24<br />2.2.1 块级元素25<br />2.2.2 框模型25<br />2.3 样式设置基础26<br />2.3.1 内联样式26<br />2.3.2 嵌入样式27<br />2.3.3 外部文件27<br />2.3.4 引用28<br />2.3.5 通过关键字引用28<br />2.3.6 通过id属性引用29<br />2.3.7 通过class属性引用29<br />2.3.8 通过任意属性引用30<br />2.3.9 通过伪类引用31<br />2.3.10 新选择器34<br />2.4 在模板上应用CSS35<br />2.5 传统框模型35<br />2.5.1 模板35<br />2.5.2 全局选择器*37<br />2.5.3 新的标题层次结构38<br />2.5.4 声明新的HTML5元素38<br />2.5.5 居中显示正文39<br />2.5.6 创建主框39<br />2.5.7 标头40<br />2.5.8 导航栏40<br />2.5.9 节与边栏41<br />2.5.10 页脚42<br />2.5.11 最后一步44<br />2.5.12 框尺寸44<br />2.6 弹性框模型45<br />2.7 理解弹性框模型52<br />2.7.1 display53<br />2.7.2 box-orient53<br />2.7.3 box-direction54<br />2.7.4 box-ordinal-group54<br />2.7.5 box-pack56<br />2.7.6 box-flex57<br />2.7.7 box-align60<br />2.8 快速参考—CSS样式设置与框模型61<br />2.8.1 弹性框模型61<br />2.8.2 伪类与选择器62<br />第3章 CSS3属性63<br />3.1 新规则63<br />3.1.1 强大的CSS363<br />3.1.2 模板63<br />3.1.3 圆角65<br />3.1.4 阴影效果66<br />3.1.5 文字阴影68<br />3.1.6 @font-face69<br />3.1.7 线性渐变70<br />3.1.8 放射渐变71<br />3.1.9 RGBA71<br />3.1.10 HSLA72<br />3.1.11 轮廓73<br />3.1.12 边框图像73<br />3.1.13 转换与转变74<br />3.1.14 一次实现全部转换77<br />3.1.15 动态转换78<br />3.1.16 过渡78<br />3.2 快速参考—CSS3属性79<br />第4章 JavaScript81<br />4.1 JavaScript相关性81<br />4.2 引入JavaScript81<br />4.2.1 内联脚本81<br />4.2.2 嵌入脚本 82<br />4.2.3 外部文件84<br />4.3 新选择器84<br />4.3.1 querySelector()85<br />4.3.2 querySelectorAll()85<br />4.4 事件处理程序86<br />4.4.1 内联事件处理程序87<br />4.4.2 在属性中添加事件处理程序87<br />4.4.3 addEventListener()方法87<br />4.5 API88<br />4.5.1 Canvas API89<br />4.5.2 拖放API89<br />4.5.3 地理位置API89<br />4.5.4 存储API89<br />4.5.5 文件API90<br />4.5.6 通信API90<br />4.5.7 Web Workers API90<br />4.5.8 历史API90<br />4.5.9 离线API91<br />4.6 外部库91<br />4.6.1 jQuery91<br />4.6.2 Google Maps91<br />4.7 快速参考—JavaScript92<br />4.7.1 元素92<br />4.7.2 选择器92<br />4.7.3 事件92<br />4.7.4 API92<br />第5章 视频与音频94<br />5.1 在HTML5中播放视频94<br />5.1.1 <video>元素95<br />5.1.2 <video>属性95<br />5.2 编程实现视频播放器96<br />5.2.1 设计96<br />5.2.2 编码98<br />5.2.3 事件98<br />5.2.4 方法99<br />5.2.5 属性100<br />5.2.6 实际代码100<br />5.3 视频格式103<br />5.4 在HTML5中播放音频103<br />5.5 编程实现音频播放器105<br />5.6 快速参考—视频与音频105<br />5.6.1 元素105<br />5.6.2 内嵌属性106<br />5.6.3 视频属性106<br />5.6.4 事件106<br />5.6.5 方法106<br />5.6.6 属性107<br />第6章 表单与表单API108<br />6.1 HTML网页表单108<br />6.1.1 <form>元素108<br />6.1.2 <input>元素109<br />6.1.3 电子邮件类型 109<br />6.1.4 搜索类型109<br />6.1.5 URL类型110<br />6.1.6 电话号码类型110<br />6.1.7 数字类型110<br />6.1.8 范围类型110<br />6.1.9 日期类型111<br />6.1.10 周类型111<br />6.1.11 月份类型111<br />6.1.12 时间类型111<br />6.1.13 日期与时间类型112<br />6.1.14 本地日期与时间类型112<br />6.1.15 颜色类型112<br />6.2 新属性112<br />6.2.1 placeholder属性113<br />6.2.2 required属性113<br />6.2.3 multiple属性113<br />6.2.4 autofocus属性113<br />6.2.5 pattern属性114<br />6.2.6 form属性114<br />6.3 新的表单元素114<br />6.3.1 <datalist>元素115<br />6.3.2 <progress>元素115<br />6.3.3 <meter>元素115<br />6.3.4 <output>元素115<br />6.4 表单API115<br />6.4.1 setCustomValidity()116<br />6.4.2 无效事件117<br />6.4.3 实时验证119<br />6.4.4 有效性约束121<br />6.4.5 willValidate122<br />6.5 快速参考—表单与表单API122<br />6.5.1 类型122<br />6.5.2 属性122<br />6.5.3 元素123<br />6.5.4 方法123<br />6.5.5 事件124<br />6.5.6 状态124<br />第7章 Canvas API125<br />7.1 准备Canvas125<br />7.1.1 <canvas>元素125<br />7.1.2 getContext()126<br />7.2 在Canvas上绘图126<br />7.2.1 绘制矩形126<br />7.2.2 颜色127<br />7.2.3 渐变128<br />7.2.4 创建路径129<br />7.2.5 线型134<br />7.2.6 文字135<br />7.2.7 阴影136<br />7.2.8 转换137<br />7.2.9 恢复状态139<br />7.2.10 globalCompositeOperation139<br />7.3 处理图像141<br />7.3.1 drawImage()141<br />7.3.2 图像数据142<br />7.3.3 图案144<br />7.4 在Canvas上实现动画145<br />7.5 在Canvas上处理视频146<br />7.6 快速参考—Canvas API148<br />7.6.1 方法149<br />7.6.2 属性151<br />第8章 拖放API152<br />8.1 Web拖放152<br />8.1.1 新的事件152<br />8.1.2 dataTransfer155<br />8.1.3 dragenter、dragleave与dragend156<br />8.1.4 选择有效的源157<br />8.1.5 setDragImage()158<br />8.1.6 文件160<br />8.2 快速参考—拖放API161<br />8.2.1 事件161<br />8.2.2 方法162<br />8.2.3 属性162<br />第9章 地理位置API163<br />9.1 定位163<br />9.1.1 getCurrentPosition(location)163<br />9.1.2 getCurrentPosition(location, error)165<br />9.1.3 getCurrentPosition(location, error, configuration)166<br />9.1.4 watchPosition(location, error, configuration)167<br />9.1.5 Google Maps实战168<br />9.2 快速参考—地理位置API169<br />9.2.1 方法169<br />9.2.2 对象170<br />第10章 Web存储API171<br />10.1 两个存储系统171<br />10.2 sessionStorage172<br />10.2.1 数据存储的实现172<br />10.2.2 创建数据173<br />10.2.3 读取数据174<br />10.2.4 删除数据175<br />10.3 localStorage176<br />10.3.1 storage事件177<br />10.3.2 存储空间178<br />10.4 快速参考—Web存储 API178<br />10.4.1 存储类型179<br />10.4.2 方法179<br />10.4.3 属性179<br />10.4.4 事件179<br />第11章 IndexedDB API180<br />11.1 底层API180<br />11.1.1 数据库180<br />11.1.2 对象和对象库181<br />11.1.3 索引181<br />11.1.4 事务182<br />11.1.5 对象库方法182<br />11.2 实现IndexedDB183<br />11.2.1 模板183<br />11.2.2 打开数据库184<br />11.2.3 数据库版本185<br />11.2.4 对象库和索引186<br />11.2.5 添加对象186<br />11.2.6 获取对象187<br />11.2.7 完成代码并测试188<br />11.3 列出数据188<br />11.3.1 游标188<br />11.3.2 修改顺序190<br />11.4 删除数据192<br />11.5 搜索数据192<br />11.6 快速参考—IndexedDB API195<br />11.6.1 环境接口(IDBEnvironment和IDBFactory)195<br />11.6.2 数据库接口(IDBDatabase)195<br />11.6.3 对象库接口(IDBObjectStore)196<br />11.6.4 游标接口(IDBCursor)196<br />11.6.5 事务接口(IDBTransaction)197<br />11.6.6 范围接口(IDBKeyRange-Constructors)197<br />11.6.7 错误接口(IDBDatabase-Exception)197<br />第12章 文件199<br />12.1 文件存储199<br />12.2 处理用户文件199<br />12.2.1 模板200<br />12.2.2 读取文件201<br />12.2.3 文件属性202<br />12.2.4 blob203<br />12.2.5 事件205<br />12.3 创建文件206<br />12.3.1 模板206<br />12.3.2 硬盘207<br />12.3.3 创建文件208<br />12.3.4 创建目录209<br />12.3.5 列出文件210<br />12.3.6 处理文件213<br />12.3.7 移动213<br />12.3.8 复制215<br />12.3.9 删除216<br />12.4 文件内容217<br />12.4.1 写入内容217<br />12.4.2 添加内容219<br />12.4.3 读取内容220<br />12.5 真实的文件系统221<br />12.6 快速参考—文件API225<br />12.6.1 Blob 接口(文件API)225<br />12.6.2 File接口(文件API)225<br />12.6.3 FileReader 接口(文件API)225<br />12.6.4 LocalFileSystem 接口(文件API:目录和系统)226<br />12.6.5 FileSystem 接口(文件API:目录和系统)226<br />12.6.6 Entry接口(文件API:目录和系统)226<br />12.6.7 DirectoryEntry接口(文件API:目录和系统)226<br />12.6.8 DirectoryReader 接口(文件API:目录和系统)227<br />12.6.9 FileEntry接口(文件API:目录和系统)227<br />12.6.10 BlobBuilder接口(文件API:写入器)227<br />12.6.11 FileWriter 接口(文件API:写入器)227<br />12.6.12 FileError 接口(文件API和扩展)228<br />第13章 通信API229<br />13.1 Ajax Level 2229<br />13.1.1 获取数据229<br />13.1.2 响应属性231<br />13.1.3 事件231<br />13.1.4 发送数据233<br />13.1.5 跨源请求235<br />13.1.6 上传文件 235<br />13.1.7 真实应用程序237<br />13.2 跨文档消息传递240<br />13.2.1 构造函数240<br />13.2.2 消息事件和属性240<br />13.2.3 发送消息241<br />13.2.4 筛选器和跨源243<br />13.3 Web套接字245<br />13.3.1 WS服务器的配置245<br />13.3.2 构造函数246<br />13.3.3 方法246<br />13.3.4 属性246<br />13.3.5 事件247<br />13.3.6 模板247<br />13.3.7 开始通信248<br />13.3.8 完整应用程序249<br />13.4 快速参考—通信API250<br />13.4.1 XMLHttpRequest Level 2250<br />13.4.2 Web消息传递API252<br />13.4.3 WebSocket API252<br />第14章 Web Workers API253<br />14.1 需要做的艰巨工作253<br />14.1.1 创建worker253<br />14.1.2 发送和接收消息253<br />14.1.3 检测错误256<br />14.1.4 终止worker257<br />14.1.5 同步API258<br />14.1.6 导入脚本259<br />14.1.7 共享worker 260<br />14.2 快速参考—Web Workers API263<br />14.2.1 worker263<br />14.2.2 专用worker264<br />14.2.3 共享worker264<br />第15章 历史API265<br />15.1 History 接口265<br />15.1.1 Web导航265<br />15.1.2 新增方法265<br />15.1.3 伪造URL266<br />15.1.4 跟踪268<br />15.1.5 实例269<br />15.2 快速参考—历史API272<br />第16章 脱机API273<br />16.1 缓存代码清单273<br />16.1.1 代码清单文件273<br />16.1.2 分类274<br />16.1.3 注释274<br />16.1.4 使用代码清单文件275<br />16.2 脱机API276<br />16.2.1 错误276<br />16.2.2 联机和脱机277<br />16.2.3 缓存过程278<br />16.2.4 进度280<br />16.2.5 更新缓存281<br />16.3 快速参考—脱机API283<br />16.3.1 代码清单文件283<br />16.3.2 属性283<br />16.3.3 事件284<br />16.3.4 方法284<br />结束语285 </p> </div> </div> <div class="clearfix"></div> <div class="editor-recom" id="tspl"> <div class="title"> <span>图书评论</span> </div> <div class="box box-primary"> <div class="box-body chat" id="chat-box" ms-controller="bookAboutCtrl"> <!-- chat item --> <div class="item" ms-for="bookAbout in @bookAbouts"> <img ms-attr="{src : bookAbout.userImage}" alt="user image" class="offline" ms-if="bookAbout.userImage"> <img ms-attr="image/avater.png" alt="user image" class="offline" ms-if="!bookAbout.userImage"> <p class="message"> <a href="#" class="name"> {{bookAbout.userName}} <small class="text-muted">· {{bookAbout.createTime}}</small> </a> {{bookAbout.about}} </p> </div> <div class="clearfix"></div> <div id="pager" class="pages" style="padding: 26px 10px 10px;margin-top:0px;display: none;"></div> <div class="clearfix"></div> <!-- /.item --> </div> <div class="comment-num"> </div> <!-- /.chat --> <div class="box-footer"> <div class="media"> <a class="media-left" href="javascript:void(0);"> <img src="image/avater.png" alt="user image" class="offline"> </a> <div class="media-body"> <form> <div class="form-group text-right"> <textarea class="comment-content" id="ebookAbout"></textarea> <a class="btn btn-primary" onclick="ebook.addBookAbout(0);">发表评论</a> </div> </form> </div> </div> </div> </div> <!-- /.box (chat box) --> </div> <div class="editor-recom" id="jczytj"> <div class="title"> <span>教学资源推荐</span> </div> <div class="line-solid1"></div> <div class="s-content"> <div class="recot"> <a href="web/teachRes/detail/4138/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wOS9lOWEzNjYzMmNkNmRjNDZjMzFmMmU0YmU3Y2I3NDVhNV8yNTYuanBnJDk3ODcxMTE1NzgyNjAuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/teachRes/detail/4138/231" target="_blank"><span>Python数据科学导论</span></a></div> <div class="author">作者: <span>[法]戴维?西伦(Davy Cielen),亚诺 D. B. 梅斯曼(Arno D. B. Meysman),穆罕默德•阿里(Mohamed Ali) 著</span></div> </div> </div> <div class="recot"> <a href="web/teachRes/detail/2902/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS9jMTQzZDI1NzdhZjk3MjEyYmQyYmNjZjIzZGNmZjdkMV8yNTYuanBnJDk3ODcxMTEzMTM0NDEuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/teachRes/detail/2902/231" target="_blank"><span>线性代数(原书第8版)</span></a></div> <div class="author">作者: <span>(美)Steven J.Leon 著 马萨诸塞大学达特茅斯分校</span></div> </div> </div> <div class="recot"> <a href="web/teachRes/detail/2921/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS9hYzdkOGNkYzk2YmE0MDhjNDdkNGQxODM5Y2NlNTg0NF8yNTYuanBnJDk3ODcxMTEzMTU0NDUuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/teachRes/detail/2921/231" target="_blank"><span>随机过程导论(原书第2版)</span></a></div> <div class="author">作者: <span>(美)Gregory F. Lawler 著</span></div> </div> </div> <div class="recot"> <a href="web/teachRes/detail/2622/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS9hOTZkM2NjNzk2YmYxMzQ4ZjE1MjUyZGM5YTBmNTIyNF8yNTYuanBnJDk3ODcxMTEyNzI1NzEuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/teachRes/detail/2622/231" target="_blank"><span>Visual Basic.NET 案例教程</span></a></div> <div class="author">作者: <span>马玉春 刘杰民 王鑫 编著</span></div> </div> </div> </div> </div> <div class="clearfix"></div> <div class="editor-recom" id="ckydtj" style="margin-top: 20px"> <div class="title"> <span>参考读物推荐</span> </div> <div class="line-solid1"></div> <div class="s-content"> <div class="recot"> <a href="web/refbook/detail/6302/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS9kMDViMjRjMzBlOWMwMzQ0OGNjMTAxOTg4MDM4NjI2NV8yNTYuanBnJDk3ODcxMTE1MTg2MDAuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/refbook/detail/6302/231" target="_blank"><span>JavaScript编程精解(原书第2版)</span></a></div> <div class="author">作者: <span>[美]马尔奇·哈弗贝克(Marijn Haverbeke) 著</span></div> </div> </div> <div class="recot"> <a href="web/refbook/detail/3817/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS9jMDdlNmM3MDY0NGEyYTkxMDA0ZDViYzYwNmQxNGM1M18yNTYuanBnJDk3ODcxMTEzMDIxNjIuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/refbook/detail/3817/231" target="_blank"><span>我也当老板——网上开店一学就会</span></a></div> <div class="author">作者: <span>杨金 等编著</span></div> </div> </div> <div class="recot"> <a href="web/refbook/detail/4053/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS8wMzVlMmMxMGM1OGVjMTEwYzU0ZmJjMzRhNGJkZGU4N18yNTYuanBnJDk3ODcxMTEzMjQ4NjcuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/refbook/detail/4053/231" target="_blank"><span>数码摄影构图宝典</span></a></div> <div class="author">作者: <span>新摄会摄影 编著</span></div> </div> </div> <div class="recot"> <a href="web/refbook/detail/1052/231" target="_blank"> <img src="https://course.cmpreading.com/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfZWJvb2svaW1hZ2UvMjAxNy8wNS85NDNlZmFlYTNlY2Q4ZmE5ZWMzMjg2NDg0NzU4YzIzN18yNTYuanBnJDcxMTExMzE1ODQuanBn" width="152" height="221" /> </a> <div class="explain"> <div class="title"><a href="web/refbook/detail/1052/231" target="_blank"><span>Dr.Dobb's 软件研发(03年10月第3期)</span></a></div> <div class="author">作者: <span>刘江</span></div> </div> </div> </div> </div> </div> </div> </div> <div class="clearfix"></div> <!--页尾--> <base href="/" /> <meta charset="UTF-8"> <!DOCTYPE html> <html> <body> <!--页尾--> <div class="footer"> <div class="inner"> <div class="pull-left"> <!-- <p> <a href="web/index/about#gw">关于我们</a> <a href="web/index/about#kf">客户服务</a> <a href="web/index/about#yl">友情链接</a> </p> <p>版权所有 2016 北京华章图文信息有限公司 <a href="https://beian.miit.gov.cn" target="_blank">京ICP备08102525号-9</a></p> --> <p>通信地址:北京市百万庄南街1号 邮编:100037</p> <p>电话:(010)68318309, 88378998 传真:(010)68311602, 68995260</p> </div> <div class="pull-right"> <!--<img class="qr-code" src="image/hzImage.png" style="width:70px; height:70px;"/>--> </div> </div> </div> </body> </html> </div> <!-- Modal --> <div class="modal fade" id="feedbackModal" tabindex="-1" role="dialog" aria-labelledby="markModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content" style="margin-top:200px;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="markModalLabel">读者反馈</h4> </div> <div class="modal-body"> <textarea rows="7" class="form-control" id="feedback"></textarea> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary" onclick="ebook.addBookFeedback(0);">确定</button> </div> </div> </div> </div> <!-- 教辅资源列表 --> <div class="modal fade" id="teachResourceModal" tabindex="-1" role="dialog" aria-labelledby="teachResourcLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content" style="width: 614px"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="teachResourcLabel"></h4> </div> <div class="modal-body" style="height: 410px;width: 614px;"> <div class="cont-panel" style="margin-top: 10px;padding: 10px 20px;"> <form class="sui-form form-horizontal sui-validate"> <div class="form-panel"> <div class="control-group pull-left"> <div class="controls"> <input type="text" class="form-control" id="departmentKey" placeholder="关键字" style="width: 420px;border-radius: 6px;"> </div> </div> <div class="control-group pull-left"> <div class="controls" style="height: 30px;vertical-align: middle;"> <a href="javascript:void(0);" class="btn btn-primary" onclick="ebook.searchResource();" style="border-radius: 6px; padding: 6px 36px; margin-left: 20px; background-color:#28a3ef">搜索</a> </div> </div> <div class="clearfix"></div> <div class="control-group" style="margin: 10px 0px 15px 0px;"> <label class="control-label" style="width: 80px;text-align: left;font-size: 14px;">搜索结果:</label> </div> <div class="control-group" style="margin-left: 3px;"> <div class="controls search-result row" id="resourcesList"> </div> </div> </div> </form> </div> </div> </div> </div> </div> </body> </html>