几个功能强大的 HTML5 API

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

1. Fullscreen API

这个 HTML5 全屏 API 让 Web 开发者可以通过编程控制页面的全屏显示。

function launchFullScreen(element) {

            if (element.requestFullScreen) {
                element.requestFullScreen();
            } else if (element.mozRequestFullScreen) {
                element.mozRequestFullScreen();
            } else if (element.webkitRequestFullScreen) {
                element.webkitRequestFullScreen();
            } else {
                console.log("暂时不支持全屏");
            }
        }
        var div = document.getElementById("panel");
        div.onclick = function(e){
            launchFullScreen(document.documentElement); // 整个页面
            //launchFullScreen(document.getElementById("videoElement")); // 单个元素
        }
        var div = document.getElementById("cs");
        div.onclick = function(e){
            launchFullScreen(document.getElementById("cs")); // 单个元素
        }

2.Battery API

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

// 获取电池对象

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);

3.getUserMedia API

特别有趣的一个 API,能够调用电脑的摄像头,结合 标签和 Canvas 就能在浏览器中拍摄照片了。未来这个 API 将被广泛用来让浏览器和用户之间互动。使用方式在我前面的人脸识别中有使用到,可以参考该文章人脸识别系统_人脸检测

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

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

<link rel="prefetch" href="http://192.168.1.1./testcc/gethtml" />

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

<link rel="prefetch" href="http://192.168.1.1./testcc/images/m1.png" />

猜你喜欢

转载自blog.csdn.net/ljcc122/article/details/81088760