这篇文章引用至 www.iteye.com 网站。因为之前研究过html界面设计,对html5比较感兴趣,觉得这篇文章比较实用,所以摘录下来。下面就是原文。
本文作者 Rich Clark 是一位 HTML5 专家,他非常了解 HTML5 规范中的 APIs 。在这篇文章中,他将介绍这些 APIs 的用途以及最新进展情况。
有关HTML5中的语法元素相信大家已经看到过不少介绍了,但是关于HTML5的APIs的介绍就不那么常见了,而HTML5规范主要就是由这些APIs构成的。
HTML5的标准有两个版本,一个是由W3C发布的,另一个则是由WHATWG发布的。WHATWG现有的HTML5标准中补充了一些W3C标准中没有的APIs(这些APIs其实W3C也有涉及,只是被单独列在一个补充标准中了)。
除了规范中介绍的APIs以外,还有一些相关的APIs也遵循了HTML5的标准,并也声称自己是HTML5的API。有些APIs已经被采用了一段时间了,但是仍然没有被明确列入规范之中,而有些HTML5则着手准备对其进行改进。
这篇文章并不准备从代码的角度去介绍这些APIs,而是会分析他们的用途以及进展情况。还会给出一些参考信息方便读者更加深入地了解自己感兴趣的内容。
HTML5标准中的APIs
首先看看W3C的HTML5规范中的APIs。
多媒体API
多媒体API是HTML5的多媒体元素中的一部分,其中包括 视频 和 音频 元素。这些元素本身实现起来并不复杂,但是这些APIs可以使用JavaScript方法,这是很多人不太了解的。其中包括play() 、pause()、load() 以及canPlayType() 这些方法。许多方法不仅可以使用多媒体类型属性,还可以使用许多其他的属性(例如poster 属性),这些方法在视频元素中尤其常见。通过在API中使用合适的事件和属性,开发者能够实现多媒体的自定义控制。
想要了解更多信息,可以看看下面的文章。
Media Elements, W3C
Everything you need to know about HTML5 video and audio,
dev.opera, Simon Pieters
HTML5 audio and video: what you must know, NetTuts (a
chapter from Introducing HTML5), Bruce Lawson and Remy Sharp
文本轨迹 API
文本轨迹 API(原文为text tracks API)常常和多媒体API一起配合使用。这个API可以与视频 和音频 元素的text tracks(例如副标题或是字幕)交互。你可以获取一个多媒体元素的文本轨迹长度或是数量,或者是它的文本轨迹(副标题、字幕、描述、章节以及元数据)、类型 (kind)、语言 (language)、状态 (readyState)、模式 (mode)和标签 (label)。
当浏览器使用本地字幕时,这个API就派上用场了,WebVTT就是一个很好的例子。你还可以快速浏览以下这些资源:
Text Track API, W3C
Web Media Text Tracks Community Group
Media Multiple Text Tracks API Wiki, W3C
The YouTube Caption API, Speech Recognition, and WebVTT
Captions for HTML5, Google I/O 2011, Naomi Black, Cynthia Boedihardjo, and
Jeffrey Posnick
Captionator.js Polyfill
WebVTT and video subtitles, Ian Devlin
拖放功能
拖放API一直受到很多关注。它最初是随着Microsoft的IE5推出的,现在Firefox、Safari 和Chrome都已经支持这一功能了。那么这个API究竟是做什么的呢?
就像它的名字所说的,这个API在浏览器中实现本地的拖放功能。只需要将一个可拖放 属性设置为true ,用户就可以移动浏览器中任意一个元素了。你还可以在目标区域加入一些事件句柄,用来告诉浏览器哪些区域能够放置用户拖放的元素。
如果不局限在浏览器内部使用这一功能,这个API的作用将更加凸显。使用拖放API,用户可以将桌面上的一副图像直接拖入浏览器中,或是将浏览器中的一个新建图标拖到桌面上,并且能够自动加载相应的内容信息形成一个新的应用程序快捷方式。
下面的文章更加深入地介绍了这一拖放功能。
Drag and drop API, W3C
Native, Drag and Drop, HTML5 Doctor, Remy Sharp
Drag and Drop, MDN
The drag and drop API, HTML5 Laboratory, Ian Devlin
离线Web Apps/Apps缓存
随着native apps(包括移动和桌面版本)和web apps的界限变得越来越模糊,应用程序支持离线访问已经成为大势所趋。离线Web应用程序(Offline Web Applications)规范详细介绍了这一技术,即应用程序缓存功能。
应用程序缓存功能是通过一个简单的列表文件实现的,该文件列出了应用程序离线工作所需的文件。这样发布者就能够确保他们的网站可以支持离线访问了。这个列表文件能够引导浏览器保留一份文件的副本,这样用户下次就可以脱机访问这些内容了。当用户没有接入网络时,浏览器就将本地的副本显示给用户。理论上讲,即使是在地铁或是其他网络不佳的环境下,你也能完成邮件编写工作了,甚至还可以玩web版的“愤怒的小鸟”。
·现在浏览器已经对这一功能有了很好的支持,尤其是在移动领域(Firefox、Safari、Chrome、Opera、iPhone
和Android),你现在就可以使用这一功能了。下面是一些相关的资料:
Offline Web Applications, W3C
Let's take this offline, Dive into HTML5, Mark Pilgrim
Running your web applications offline with HTML5
AppCache, dev.opera, Shwetank Dixit
Go offline with application cache, HTML5 Doctor, Mike
Robinson
Offline Browsing in HTML5 with ApplicationCache,
Sitepoint, Malcolm Sheridan
Get off(line), Web Directions, John Allsopp
UI
和离线功能一样,UI也是HTML5核心标准的一部分。其中有些功能有必要在这里提一提,比如contenteditable属性,在创建web apps就非常有用。IE浏览器从5.5版本推出以后就一直支持这一属性,还有其他五大主流浏览器都支持这一属性。将该属性设置为true表示相应的元素是可编辑的。发布者可以在本地存储中加入这一属性,从而跟踪文档的变化。
想了解更多信息,可以查看最新的标准 ,但是其中有些部分已经被划分给HTML Editing APIs 了。
历史
浏览器的后退按钮是一个使用非常频繁的工具。HTML5的历史API(History API)可以帮助开发者管理用户的浏览器会话的历史状态。
以前的历史API只是帮用户回到之前的页面或是之后的页面,以及检查历史信息的长度。而HTML5则加入了增删用户历史信息的方法,可以保存部分数据用于重构一个页面状态,或是更新URL时无需刷新页面。这个API使用起来非常简单,并且可以用它来开发非常复杂的应用程序。
关于历史API的更多信息:
History API, W3C
Manipulating History for Fun & Profit, Dive into
HTML5, Mark Pilgrim
Introducing the HTML5 History API, dev.opera, Mike Taylor
& Chris Mills
Manipulating the browser history, MDN
MIME类型和协议处理程序注册
这个API允许网站将自己注册成为一些方案的处理程序。下面是一个使用了registerProtocolHandler方法的例子:一个在线电话消息服务可以将自己注册成一个SMS方案的处理程序,这样当用户点击这个链接以后,就能访问它的Web网站(W3C HTML协议 )了。
SMS 、TEL 和IRC 这类方案被列入白名单。网站还可以使用registerContentHandler方法将自己注册为特定内容的处理程序。
想要了解MIME类型和协议处理程序注册方法,可以先看看HTML5规范 。
分享到:
相关推荐
标题中的"javascript apis ruby api"表明本主题涵盖了JavaScript API和Ruby API两个主要方面。JavaScript API是用于在浏览器环境中操作和扩展网页功能的接口,而Ruby API则是Ruby编程语言的接口,允许开发者调用内置...
这份“值得看的J2EE指南中文版”无疑为初涉J2EE领域的Java程序员提供了一份宝贵的参考资料。J2EE平台包含了各种服务、APIs和协议,以支持开发和部署多层架构的应用程序,尤其是在服务器端。 1. **J2EE组件模型**:...
《API和异步JS口袋指南源代码解析》 在当今的Web开发中,API(Application Programming Interface)和异步JavaScript是不可或缺的技术元素。本篇将深入探讨“apis-source-code”项目,这是一个关于API和异步JS的源...
此外,HTML5还引入了新的APIs,如离线存储、拖放功能、媒体元素等,增强了网页的交互性和用户体验。WebsiteExpress充分利用这些特性,确保网站在各种设备和浏览器上都能表现出色。 在压缩包中,我们发现了以下几个...
这些APIs允许程序员通过编写代码来与Business Objects平台进行交互,实现定制化报告、数据提取、分析功能以及与其他系统的集成。 ### 1. API接口介绍 在BO4.1 SDK中,主要的API接口包括: - **水晶报表(Crystal ...
标签“java编程”进一步确认了这个项目与Java语言编程有关,可能包括类库、APIs或者其他开发者工具,这些都对Java程序员有用,尤其是那些从事移动应用开发的程序员。 在压缩包内的文件中: 1. "ReadMe.html":这是...
HTML5是目前广泛使用的版本,它包括了新的元素、APIs以及对多媒体的支持,如音频、视频、图像等。HTML由一系列标签组成,这些标签告诉浏览器如何显示网页内容。例如,`<html>`是文档的根元素,`<head>`包含了元数据...
### Java精品:初学者的全面指南 #### Java语言概述与历史背景 Java,作为一种跨平台的编程语言,自诞生以来便以其简洁、面向对象、健壮性和安全性著称,成为了IT行业的主流技术之一。它的历史可以追溯到1990年代...
这可能是一个程序员或者Web开发者Giuliano Marco Montis的个人主页,展示他的作品、技能和简历。 【描述】描述部分为空,意味着没有提供额外的详细信息。通常在GitHub上,个人主页的描述会包含开发者的职业简介、...
Java开发中的常用API是程序员日常工作中不可或缺的一部分,它包含了各种工具类、接口和类,用于实现各种功能。这里我们主要关注几个重要的API组件,包括W3CSchool的基础教程,MySQL5中文参考手册,jQuery 1.8.3的...
这个示例代码集提供了实现语音监听功能的详细步骤,帮助程序员理解和构建类似的系统。然而,值得注意的是,此类技术的应用需遵循法律和道德规范,滥用可能会带来法律责任。 首先,我们要理解“语音监听”这一概念。...
2. readme.html:这通常是一个包含项目相关信息的文档,如安装指南、使用说明、版权信息或开发者联系方式等。它是开源项目中常见的文件,帮助用户了解如何开始使用或贡献代码。 3. images:这个文件夹可能包含了与...
它包含了各种服务、APIs和协议,旨在帮助开发者构建可扩展、高可用性的分布式应用程序。 【描述】"基于javaEE实现的在线音乐系统" 暗示这个项目主要功能可能包括音乐播放、搜索、推荐、用户账户管理、评论互动等。...
开发者可以利用HTML5、CSS3和JavaScript来创建原生级别的应用,这使得Firefox OS对开发者来说具有很高的吸引力,尤其是对于那些熟悉Web开发的程序员。 在Firefox_Hackathon-master文件中,我们可以期待找到一系列与...
它们是开发者社区的重要组成部分,帮助程序员互相学习、交流经验和解决问题。 JavaScript作为主要标签,我们来详细了解一下这个语言。JavaScript是由Brendan Eich在1995年为 Netscape Navigator 浏览器开发的,最初...
在IT行业中,源代码是程序员用编程语言编写的原始指令集,它是构建任何软件或应用程序的基础。开源项目鼓励社区参与和协作,促进技术创新,并降低了开发成本。对于“学生登记表”这样的系统,源代码可能包括处理用户...