html5 api有什么用,[转]你可能不知道的五个强大HTML5 API

一、全屏

// 找到适合浏览器的全屏方法

function launchFullScreen(element) {

if(element.requestFullScreen) {

element.requestFullScreen();

} else if(element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if(element.webkitRequestFullScreen) {

element.webkitRequestFullScreen();

}

}

// 启动全屏模式

launchFullScreen(document.documentElement); // the whole page

launchFullScreen(document.getElementById("videoElement")); // any individual element

二、页面可见性:判断用户是否正在浏览

// 设置隐藏属性和可见改变事件的名称,属性需要加浏览器前缀

// since some browsers only offer vendor-prefixed support

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

// 开始或停止状态处理

}, false);

三、使用麦克风和摄像头

// 设置事件监听器

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

};

// 设置video监听器

if(navigator.getUserMedia) { // Standard

navigator.getUserMedia(videoObj, function(stream) {

video.src = stream;

video.play();

}, errBack);

} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed

navigator.webkitGetUserMedia(videoObj, function(stream){

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

video.play();

}, errBack);

}

}, false);

四、电池

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

五、prefetch预先加载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值