# 对决JavaScript HTML5脚本API预览

**URL:** <https://www.isharkfly.com/t/javascript-html5-api/8310>\
**Category:** 前端\
**Created:** [May 2, 2012, 3:20pm UTC](https://www.isharkfly.com/t/javascript-html5-api/8310 "2012-05-02T15:20:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [May 2, 2012, 3:20pm UTC](https://www.isharkfly.com/t/javascript-html5-api/8310/1 "2012-05-02T15:20:45Z")

</div>

HTML 5是万维网核心语言的第5个主要版本，早在2004年就由网络富文本应用技术工作组（WHATWG）发起。虽然标准仍在制定之中，但有些浏览器已经能够支持一部分HTML 5的特性了，如Safari 4 beta;51CTO.com上周曾报道过《苹果抢先支持HTML5视频功能》的消息，今天我们来看看在对JavaScript的支持和替代方面，HTML5有哪些进展。。

HTML 5中的脚本API

HTML5新增的特性充分地考虑了应用程序开发人员，HTML 5引入了大量的新的Javascript API。可以利用这些内容与对应的HTML元素相关联，它们包括：

◆二维绘图API，可以用在一个新的画布（Canvas）元素上以呈现图像、游戏图形或者其他运行中的可视图形。

◆一个允许web应用程序将自身注册为某个协议或MIME类型的API。

◆一个引入新的缓存机制以支持脱机web应用程序的API。

◆一个能够播放视频和音频的API，可以使用新的video和audio元素。

◆一个历史纪录API，它可以公开正在浏览的历史纪录，从而允许页面更好地支持AJAX应用程序中实现对后退功能。

◆跨文档的消息传递，它提供了一种方式，使得文档可以互相通信而不用考虑它们的来源域，在某种程度上，这样的设计是为了防止跨站点的脚本攻击。

◆一个支持拖放操作的API，用它可以与draggable特性相关联。

◆一个支持编辑操作的API，用它可以与一个新的全局contenteditable特性相关联。

◆一个新的网络API，它支持web应用程序在本地网络上互相通信，并在它们的源服务器上维持双向的通信。

◆使用JavaScript API的键/值对实现客户端的持久化存储，同时支持嵌入的SQL数据库。

◆服务器发送的事件，通过它可以与新的事件源（event-source）元素关联，新的事件源元素有利于与远程数据源的持久性连接，而且极大地消除了在Web应用程序中对轮询的需求。

您可能会问，HTML5基本可以替代JavaScript了，有了HTML5，我们还需要JS吗？YUI开发团队成员Matt & Eric对此解释说：

JavaScript框架的作用是利用更丰富的API和透明的跨浏览器支持来改善编程环境。YUI将会遵循HTML 5标准（特别是那些已经对浏览器产生影响的），并添加对老版本浏览器的支持，以便让新的功能可以在标准实现和推广之前就得以应用。客户端存储API是一个 例子，YUI将要实现它以消除HTML 5和现有浏览器之间的不同。

HTML、CSS和JavaScript的组合已经被证明是非常实用和通用的，每一项技术都在积极的进步，没有必要替换掉它们。就像HTML5的改进一样，都会向在各自的应用场景下不断提高和发展。
