HTML5 API-在线编辑工具

来源 | http://www.cnblogs.com/lhb25/archive/2012/11/15/more-html5-apis.html

HTML5 新增了许多重要的特性,像 video、audio 和 canvas 等等,这些特性使得能够很容易的网页中包含多媒体内容,而不需要任何的插件或者 API。而其它的新元素,例如 section、article、header 和 nav 等则是用来丰富网页内容。另外还有很多强大的 JavaScript API,下面这5个 HTML5 API 你可能不知道,通过今天这篇文章可以了解一下。

01

Fullscreen API

这个 HTML5 全屏 API 让 Web 开发者可以通过编程控制页面的全屏显示。这个 API 对于 JavaScript 游戏开发特别有用,例如这款单人射击游戏 BananaBread,在全屏状态下玩那是相当酷。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// 根据目标元素调用相应的方法

function launchFullScreen(element) {

  if(element.requestFullScreen) {

    element.requestFullScreen();

  } else if(element.mozRequestFullScreen) {

    element.mozRequestFullScreen();

  } else if(element.webkitRequestFullScreen) {

    element.webkitRequestFullScreen();

  }

}

// 在支持的浏览器中启动全屏

launchFullScreen(document.documentElement); // 整个页面

launchFullScreen(document.getElementById("videoElement")); // 单个元素

使用教程地址:https://davidwalsh.name/demo/fullscreen.php

02

Page Visibility API

Page Visibility API 可以帮助开发者监听用户的焦点在哪个页面选项卡上面以及用户在选项库或者窗口之间的移动情况。如果使用合理的话,当焦点不在某个页面上的时候可以停止一些消耗很大的任务。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

// 部分浏览器只支持 vendor-prefixed

// 根据浏览器支持情况设置隐藏属性和可见状态改变事件

var hidden, state, visibilityChange;

if (typeof document.hidden !== "undefined") {

  hidden = "hidden";

  visibilityChange = "visibilitychange";

  state = "visibilityState";

} else if (typeof document.mozHidden !== "undefined") {

  hidden = "mozHidden";

  visibilityChange = "mozvisibilitychange";

  state = "mozVisibilityState";

} else if (typeof document.msHidden !== "undefined") {

  hidden = "msHidden";

  visibilityChange = "msvisibilitychange";

  state = "msVisibilityState";

} else if (typeof document.webkitHidden !== "undefined") {

  hidden = "webkitHidden";

  visibilityChange = "webkitvisibilitychange";

  state = "webkitVisibilityState";

}

// 添加一个时间来实时改变页面的标题

document.addEventListener(visibilityChange, function(e) {

  // Start or stop processing depending on state

}, false);

 使用教程地址:https://davidwalsh.name/page-visibility

03

getUserMedia API

特别有趣的一个 API,能够调用电脑的摄像头,结合 <video> 标签和 Canvas 就能在浏览器中拍摄照片了。未来这个 API 将被广泛用来让浏览器和用户之间互动。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

// 添加事件监听器

window.addEventListener("DOMContentLoaded", function() {

  // 获取元素,创建配置

  var canvas = document.getElementById("canvas"),

    context = canvas.getContext("2d"),

    video = document.getElementById("video"),

    videoObj = { "video": true },

    errBack = function(error) {

      console.log("Video capture error: ", error.code);

    };

  // 添加视频监听器

  if(navigator.getUserMedia) { // 标准的API

    navigator.getUserMedia(videoObj, function(stream) {

      video.src = stream;

      video.play();

    }, errBack);

  } else if(navigator.webkitGetUserMedia) { // WebKit 核心的API

    navigator.webkitGetUserMedia(videoObj, function(stream){

      video.src = window.webkitURL.createObjectURL(stream);

      video.play();

    }, errBack);

  }

}, false);

使用教程地址:https://davidwalsh.name/browser-camera

04

Battery API

顾名思义,这是一个电池 API ,明显是为移动设备准备的,用于监控电池的状态。能够通过事件监听电池电量的变化,电池的等级、可用时间等状态。下面是是示例代码,可以通过后面的教程链接学习更详细的使用方法。

1

2

3

4

5

6

7

8

9

10

// 获取电池对象

var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;

// 一组非常有用的电池属性

console.warn("Battery charging: ", battery.charging); // true

console.warn("Battery level: ", battery.level); // 0.58

console.warn("Battery discharging time: ", battery.dischargingTime);

// 监听电池状态

battery.addEventListener("chargingchange", function(e) {

  console.warn("Battery charge change: ", battery.charging);

}, false);

使用教程地址:https://davidwalsh.name/battery-api

05

Link Prefetching

这个链接预取 API 非常有用,让开发者可以控制网页资源在后台安静的预先加载,这样用户在浏览网站或者使用 Web 应用程序的时候能够有流畅的使用体验。可以预加载整个页面,也可以是单个资源,示例代码如下:

1

2

3

4

<!-- 预加载整个页面 -->

<link rel="prefetch" href="http://davidwalsh.name/css-enhancements-user-experience" />

<!-- 预加载一张图片 -->

<link rel="prefetch" href="http://davidwalsh.name/wp-content/themes/walshbook3/images/sprite.png" />

使用教程地址:https://davidwalsh.name/html5-prefetch

上面这5个 HTML5 API 值得关注,在不久的将来这些 API 将被广泛的使用,因此越早掌握它们可以帮助你为构建优秀的 Web 应用打下坚实的基础。通过使用教程可以快速的熟悉这些 API 的基本用法和使用场景,提供的在线演示展示了直观的应用情况

 HTML5 在线工具:

01、Online Sprite Box Tool

地址:http://www.spritebox.net/

这款在线的 CSS Sprite 样式生成工具,结合jQuery、CSS3和HTML5开发,能够帮助你快速的生成CSS Sprite 样式。

02、Online Pattern Generator Tool

地址:http://patternizer.com/

这是一款在线纹理生成工具,当设计师需要制作网页背景的时候,它能够帮上大忙。这款工具提供了很多的配置选项,使用非常简单,太棒了!

03、Online 3D Sketch Tool

地址:http://hakim.se/experiments/html5/sketch/ 

这是一款很特别的绘图工具,使用功能强大的 HTML5 Canvas 来实现3D绘图功能。向让画布进行立体选择,你需要按住空格键并水平拖动鼠标,非常酷!

04、Online Font Testing Tool

地址:http://fontdragr.com/

对于设计师来说,选择一款合适的字体是一个艰难的过程。这款非常棒的字体测试工具可以帮助设计师即时浏览新字体在页面中的现实效果,不要修改任何的HTML或者CSS代码,只需要把字体文件拖放的顶部的工具栏中,新字体就会出现在下拉列表中。

05、Online Velocity Sketch Tool

地址:http://jayweeks.com/sketchy-structures-html5-canvas/

这是一款基于HTML5的在线素描工具,能在在线绘制一些奇特的东西,图片显示的就是我随手画的,我相信设计师们能够画出更加有创意的东西。

06、Online XRay Tool

地址:http://westciv.com/xray/

通过这款工具,你可以查看到任何页面上的元素细节, 类似于Firebug的元素查看工具,不过这个是在线的,不需要安装插件,只需要把它们网站上的一个书签项放到书签栏,使用的时候点击该书签,然后再点击需要查看的元素就可以了。

07、Online Automatoon (animation) Tool

地址:http://www.automatoon.com/

Automatoon 是一款完全基于HTML5开发的在线工作制作工具,完全没有使用Flash,制作的动画能运行于 iPhones、iPad、Android设备以及各种常见浏览器。

08、Online HTML5 Audio Maker Tool

地址:http://westciv.com/tools/audio/ 

随着HTML5发展,会有越来越多的HTML5网站开始使用强大的HTML5 audio标签功能。这个在线 audio 生成工具能够帮助你了解HTML5 audio提供的各种新特性,还有一款类似的在线 HTML5 video 制作工具 。

09、Online SVG to HTML5 Canvas Tool

地址:http://www.professorcloud.com/svg-to-canvas/

所有的矢量艺术包(Illustrator、Inkscape 等等) 都能够导出为 SVG (可缩放矢量图形),而这款工具帮助帮助你把SVG文件转换成HTML5 canvas。

10、Chrome Ajax Animator Tool

地址: https://chrome.google.com/webstore/detail/ginffkjapdobanedcblllenliboglpkp

这是一个跨平台的动画工具,在线和离线都能使用。你只需要安装有Chrome浏览器,然后通过快速指导教程引导入门,是一款对HTML5 动画初学者非常有用的工具。

猜你喜欢

转载自blog.csdn.net/x_y_net/article/details/81078282
今日推荐