• 掘金上发现的有趣web api


    本篇文章主要选取了几个有趣且有用的webapi进行介绍,分别介绍其用法、用处以及浏览器支持度

    • page lifecycle
    • onlineState(网络状态)
    • device orientation(陀螺仪,获取用户手机朝向)

    • battery status 获取用户手机电量

     

    用法

    window.addEventListener('blur',() => {})
    window.addEventListener('visibilitychange',() => {
        // 通过这个方法来获取当前标签页在浏览器中的激活状态。
        switch(document.visibilityState){
            case'prerender': // 网页预渲染 但内容不可见
            case'hidden':    // 内容不可见 处于后台状态,最小化,或者锁屏状态
            case'visible':   // 内容可见
            case'unloaded':  // 文档被卸载
        }
    });

    用处:在当前标签页是count数量会自动增加,不在当前标签页时count会停止增加,这个API的用处就是用来响应我们网页的状态,比如说我们的页面是在播放视频或者是一个网页的游戏,你可以通过这个API来去做出对应的响应,暂停视频,游戏暂停等等。

    online state(网络状态)

    这个API就很简单了,就是获取当前的网络状态,同时也有对应的事件去响应网络状态的变化。

    用法:网络中断了,我们可以通过这个API去响应

    window.addEventListener('online',onlineHandler)
    window.addEventListener('offline',offlineHandler)

    device orientation(陀螺仪)

    通过绑定事件来获取设备的物理朝向,可以获取到三个数值,分别是:

    • alpha:设备沿着Z轴的旋转角度
    • beta:设备沿着X轴的旋转角度
    • gamma:设备沿着Y轴的旋转角度

    用法

    window.addEventListener('deviceorientation',e => {
        console.log('Gamma:',e.gamma);
        console.log('Beta:',e.beta);
        console.log('Alpha:',e.Alpha);
    })

    battery status

    这个API就使用来获取当前的电池状态

     用法:

    // 首先去判断当前浏览器是否支持此API
    if ('getBattery' in navigator) {
        // 通过这个方法来获取battery对象
        navigator.getBattery().then(battery => {
        // battery 对象包括中含有四个属性
        // charging 是否在充电
        // level   剩余电量
        // chargingTime 充满电所需事件
        // dischargingTime  当前电量可使用时间
        const { charging, level, chargingTime, dischargingTime } = battery;
        // 同时可以给当前battery对象添加事件  对应的分别时充电状态变化 和 电量变化
        battery.onchargingchange = ev => {
            const { currentTarget } = ev;
            const { charging } = currentTarget;
        };
        battery.onlevelchange = ev => {
            const { currentTarget } = ev;
            const { level } = ev;
        }
        })
    } else {
        alert('当前浏览器不支持~~~')

    这是demo的URL:https://github.com/1921622004/webapi

    文章来源,我这只做个个人的标记,挺有趣的

    作者:awesome23

    链接:https://juejin.im/post/5c1606d9f265da613d7bf7a4
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    程序员的自我修养(序)-量子
    我的IT生活-量子
    量子地图
    再出发
    新的一年快开始了,学点新东西吧,从React开始(一)
    ECMAScript 6 Features 中文版
    必须清零
    彩印网的第一阶段即将收官
    终于感觉掌握了一门重要的技术
    程序员的命运之轮
  • 原文地址:https://www.cnblogs.com/Dobin/p/10289202.html
Copyright © 2020-2023  润新知